从零开始:Kubernetes 集群的搭建与配置指南,超详细,保姆级教程

Kubernetes(K8s)是一个开源的容器编排平台,用于自动化应用的部署、扩展和管理。本文将详细介绍如何从零开始搭建一个 Kubernetes 集群,并进行基本配置。

环境准备

在开始之前,我们需要准备好以下环境:

  1. 操作系统:建议使用 Linux 发行版,如 Ubuntu 20.04 或 CentOS 7。
  2. 服务器:至少有两台 Linux 服务器(可以是物理机或虚拟机),其中一台作为 Master 节点,另外作为 Worker 节点。
  3. 必要的工具:确保安装了 curlapt(Ubuntu)或 yum(CentOS)、dockerkubeadmkubeletkubectl

1. 安装 Docker

Docker 是 Kubernetes 的一个重要组成部分,以下为在 Ubuntu 上安装 Docker 的步骤:

# 更新包索引
sudo apt-get update

# 安装某些需要的软件包
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common 

# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加 Docker 的稳定版本库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 更新包索引
sudo apt-get update

# 安装 Docker
sudo apt-get install docker-ce

# 启动 Docker
sudo systemctl start docker

# 设置为开机自启
sudo systemctl enable docker

2. 安装 Kubernetes 组件

接下来,我们将在所有节点上安装 Kubernetes 的核心组件。

# 添加 Kubernetes 的 GPG 密钥
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

# 添加 Kubernetes 的 APT 仓库
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

# 更新包索引
sudo apt-get update

# 安装 kubelet、kubeadm、kubectl
sudo apt-get install -y kubelet kubeadm kubectl

# 设置为开机自启
sudo systemctl enable kubelet

3. 禁用 Swap

Kubernetes 要求禁用 Swap,请运行以下命令:

sudo swapoff -a
# 为了永久禁用 Swap,编辑 /etc/fstab 文件,注释掉包含 swap 的行
sudo nano /etc/fstab

4. 初始化 Kubernetes 集群

在 Master 节点上运行以下命令进行集群初始化。

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

初始化成功后,按照输出信息的指示,运行以下命令设置 kubectl 的权限:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5. 部署 Pod 网络

Kubernetes 需要一个网络插件来管理 Pod 之间的通信。这里我们使用 Calico,部署命令如下:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

6. 加入 Worker 节点

返回到 Master 节点,执行 kubeadm join 命令,以将 Worker 节点加入集群。该命令会在 kubeadm init 的输出中提供。

在 Worker 节点上执行类似下面的命令:

sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

7. 验证集群状态

在 Master 节点上,使用以下命令检查集群状态:

kubectl get nodes

如果一切正常,你应该能看到 Master 节点和 Worker 节点的状态为 Ready

结尾

到此为止,一个基础的 Kubernetes 集群搭建完成。接下来,你可以根据需要在集群上部署应用程序、设置服务等。以上步骤在大多数情况下都非常可靠,建议在真实环境中部署前进行充分测试。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部