在CentOS上搭建Kubernetes(k8s)环境是一个相对复杂的过程,需要按照一定的步骤进行。以下是一个详细的指南,帮助你在CentOS上安装和配置Kubernetes集群。
关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
禁用交换分区:
swapoff -a
sed -i '/swap/s/^$.*$$/#\1/g' /etc/fstab
设置主机名:
hostnamectl set-hostname k8s-master
配置静态IP:
编辑网络配置文件(例如 /etc/sysconfig/network-scripts/ifcfg-ens33
),配置如下:
TYPE=ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=d90cbc3c-ba5e-4a72-8f7e-a5ae8c48158a
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.8.106
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
DNS1=8.8.8.8
DNS2=114.114.114.114
时间同步:
yum install -y ntpdate
ntpdate ntp.aliyun.com
systemctl enable ntpdate
systemctl start ntpdate
安装依赖包:
yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker国内源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum包软件索引:
yum makecache fast
安装Docker:
yum install -y docker-ce docker-ce-cli containerd.io
启动Docker并设置开机启动:
systemctl start docker
systemctl enable docker
验证Docker安装:
docker --version
设置Kubernetes源:
cat << EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装kubelet、kubeadm、kubectl:
yum install -y kubelet kubeadm kubectl
配置kubelet:
编辑 /etc/kubernetes/kubelet.conf
文件,设置 --cgroup-driver
为 systemd
(如果使用Docker作为容器运行时)。
初始化Master节点:
kubeadm init --apiserver-advertise-address 192.168.8.106 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr 10.244.0.0/16
拷贝Kubernetes认证文件:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
添加Worker节点: 在Master节点上获取Join命令并复制给每个Worker节点:
kubeadm token create --print-join-command
部署CNI容器网络插件(如Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
验证集群状态:
kubectl get nodes
检查集群状态:
kubectl get nodes
查看Pod状态:
kubectl get pods --all-namespaces
检查事件日志:
kubectl get events
检查系统资源:
free -g
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
dd if=/dev/zero of=/tmp/testfile bs=4K count=512 convfdatasync oflag=direct,nonblock
查看日志文件:
journalctl -xe
tail -f /var/log/messages
dmesg -T
tail -f /sysvol/mariadb/mariadb_data/mysql-error.log
通过以上步骤,你可以在CentOS上成功搭建和配置Kubernetes集群。如果在安装过程中遇到问题,可以参考相关的官方文档或寻求社区帮助。