在CentOS上运行Kubernetes容器化应用需要经过以下几个步骤:
更新系统:
sudo yum update -y
安装Docker:
sudo yum install -y docker
配置Kubernetes源:
创建 /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
安装Kubernetes组件:
sudo yum install -y kubeadm kubelet kubectl
启动Kubernetes服务:
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl start kubelet
sudo systemctl enable kubelet
配置时间同步:
安装 chrony
并配置时间同步:
sudo yum install -y chrony
sudo vi /etc/chrony.conf
# 删除所有的 server 配置
server 0.centos.pool.ntp.org iburst
server 192.168.1.1
关闭防火墙和SELinux:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/selinux/config
配置主机名:
修改主机名,例如将 master
改为 ks-master-1
:
hostnamectl set-hostname ks-master-1
配置DNS:
编辑 /etc/resolv.conf
文件:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
配置服务器时区:
配置服务器时区为 asia/shanghai
:
timedatectl set-timezone asia/shanghai
初始化Kubernetes集群:
使用 kubeadm
初始化Master节点:
sudo kubeadm init
初始化过程中会输出一些信息,包括加入集群所需的 kubeadm join
命令和初始的 kubectl
配置,请妥善保存这些信息。
配置kubectl:
将 kubeadm
初始化输出的初始 kubectl
配置添加到 ~/.kube/config
文件中:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
部署网络插件:
以Flannel为例,安装Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在其他节点上重复以下步骤,使用 kubeadm join
命令将其他节点加入到集群中:
# 替换为实际的Master节点IP地址和端口
kubeadm join <MASTER_IP>:<MASTER_PORT> --token <TOKEN> --discovery-token-ca-cert-hash <HASH>
至此,Kubernetes容器编排平台已经在CentOS上安装和配置完成,你可以使用 kubectl
命令来管理和操作Kubernetes集群。