部署在CentOS 7 上的 Kubernetes 需要经过一系列的准备和配置步骤。以下是基本的步骤:
1. 确保系统更新
sudo yum update
2. 安装 Docker
Kubernetes 依赖 Docker 来管理容器。
安装 Docker CE
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker
添加非 root 用户到 Docker 用户组(可选)
sudo usermod -aG docker your_username
3. 关闭 SELinux
sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
4. 关闭防火墙或打开必要的端口
Kubernetes 需要一些端口来通信。这里关闭防火墙,但在生产环境中,你可能需要手动开放这些端口。
sudo systemctl stop firewalld sudo systemctl disable firewalld
5. 安装 Kubernetes 工具
sudo yum install -y epel-release sudo yum install -y conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools
6. 添加 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
7. 安装 kubelet、kubeadm 和 kubectl
sudo yum install -y kubelet kubeadm kubectl
8. 启动 kubelet 服务
sudo systemctl enable --now kubelet
9. 初始化 Master 节点
在 Master 节点上执行下面的命令。注意替换 <your_pod_network_cidr>
为你选择的 Pod 网络 CIDR。
sudo kubeadm init --pod-network-cidr=<your_pod_network_cidr>
初始化完成后,按照输出的提示,设置 kubectl
的配置:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
10. 部署网络插件
Kubernetes 集群需要网络插件以使 Pod 之间能够通信。常用的网络插件有 Calico、Flannel 等。
部署 Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
11. 加入 Worker 节点
在 Worker 节点上运行 kubeadm join
命令,将其加入到集群中。这个命令在你初始化 Master 节点时会得到。
12. 验证集群状态
kubectl get nodes
以上是在 CentOS 7 上安装和部署 Kubernetes 的基本步骤。根据你的实际需求,可能需要进行额外的配置和调整。