在 CentOS 上安装 Kubernetes(K8s)可以通过使用工具如 kubeadm、kubespray 或者 Minikube 来实现。这里我将展示使用 kubeadm 的安装过程。
1. 确保系统配置
确保你的 CentOS 系统满足 Kubernetes 的最低要求,包括开启必要的内核参数和关闭防火墙。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo swapoff -a
2. 安装 Docker
按照之前的说明,安装 Docker。
3. 添加 Kubernetes YUM 源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
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
4. 安装 Kubernetes 工具
sudo yum install -y kubelet kubeadm kubectl
5. 启动 kubelet 服务
sudo systemctl enable --now kubelet
6. 初始化 Kubernetes Master 节点
选择一台节点作为 Master 节点,运行 kubeadm init 来初始化:
sudo kubeadm init --pod-network-cidr=10.244.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
7. 部署网络插件
Kubernetes 集群需要网络插件来实现 Pod 之间的通信。常用的网络插件包括 Calico、Flannel 等。
例如,安装 Calico 网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
8. 加入其他节点(可选)
如果你有其他节点需要加入集群,可以使用 kubeadm join 命令。在初始化 Master 节点后,会输出一个加入命令,类似于:
kubeadm join <Master节点IP>:<Master端口> --token <token> --discovery-token-ca-cert-hash <hash>
在需要加入的节点上运行此命令即可。
至此,你已经在 CentOS 上成功安装了 Kubernetes。你可以使用 kubectl 命令来管理集群,部署和管理应用程序。