6 安装Kubernetes之使用Kubeadm安装

在上一篇文章中,我们介绍了如何使用 Minikube 快速搭建一个本地的 Kubernetes 集群。Minikube 适合用于开发和测试,但如果我们要在生产环境或更复杂的测试场景中运行 Kubernetes,则推荐使用 Kubeadm 安装 Kubernetes 集群。今天,我们将详细介绍如何使用 Kubeadm 安装 Kubernetes。

Kubeadm简介

Kubeadm 是 Kubernetes 官方提供的一种工具,用于快速创建和管理 Kubernetes 集群。它主要负责:

  • 初始化控制平面节点
  • 加入工作节点到集群
  • 提供集群升级和修复等功能

环境准备

在开始之前,我们需要准备一些环境。以下是一个基本的环境清单:

  • 至少两台服务器(或虚拟机),一台作为控制平面节点,另一台作为工作节点。
  • 操作系统建议使用 Ubuntu 20.04+CentOS 7+ 等。
  • 需要具备 sudo 权限的用户。
  • 安装 Docker 或其他容器运行时。

系统要求

确认你的系统符合以下要求:

  • CPU:至少2个
  • 内存:至少2GB
  • Swap:禁用交换空间

可以通过以下命令禁用交换空间:

1
sudo swapoff -a

并确保在 /etc/fstab 文件中注释掉任何 swap 相关的行,以防重启后自动启用。

运行时环境

以下是安装 Docker 的步骤,以便后续用于 Kubernetes:

在 Ubuntu 上安装 Docker

1
2
3
4
5
6
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce

在 CentOS 上安装 Docker

1
2
3
4
5
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker

安装Kubernetes组件

在所有节点上安装 Kubernetes 组件前,我们需要添加 Kubernetes 的官方仓库,并安装 kubeadm, kubeletkubectl

添加 Kubernetes 仓库

在 Ubuntu 上

1
2
3
4
5
6
7
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update

在 CentOS 上

1
2
3
4
5
6
7
8
9
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

安装组件

现在我们可以安装 Kubernetes 组件:

安装 kubeadm, kubelet 和 kubectl(Ubuntu)

1
2
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

安装 kubeadm, kubelet 和 kubectl(CentOS)

1
2
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet

初始化Kubernetes集群

在控制平面节点上,使用 kubeadm 初始化 Kubernetes 集群。执行以下命令:

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

这里的 --pod-network-cidr 是指定的 Pod 网络范围,通常取决于你选择的网络插件(如 Calico、Weave 等)。在本例中,我们使用的是 Calico,它建议使用 192.168.0.0/16

配置kubectl

初始化完成后,执行以下命令以配置 kubectl

1
2
3
4
# 复制 kubeconfig 文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署Pod网络

接下来,需要部署一个 Pod 网络插件。以下是安装 Calico 的步骤:

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

加入工作节点

在工作节点上,你需要使用控制平面节点上显示的 kubeadm join 命令加入到集群。例如:

1
sudo kubeadm join <control-plane-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

请替换 <control-plane-ip><token><hash> 为你实际的控制平面的 IP 地址和命令行输出的值。

验证集群状态

在控制平面节点上,可以使用以下命令来查看节点状态:

1
kubectl get nodes

这应该会显示控制平面节点以及相应的工作节点。

小结

在本篇教程中,我们详细介绍了如何使用 Kubeadm 安装 Kubernetes 集群。与 Minikube 的使用相比,Kubeadm 更适合生产环境和多节点集群的需求。在下一篇文章中,我们将探讨 Kubernetes 的基本概念,特别是如何使用命名空间来组织和管理资源。

通过此次实践,你应该对 Kubernetes 的安装过程,特别是使用 Kubeadm 有了初步的了解。如果你有任何问题或进一步的需求,请随时提问!

6 安装Kubernetes之使用Kubeadm安装

https://zglg.work/kubernetes-zero/6/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论