行业知识
k8s的adm方式部署
2026-10-31 06:41:14
来源:互联网转载
1 k8s kubeadm搭建
1.1 k8s kubeadm搭建步骤
kubeadm init
在使���kubeadm方式安装k8s集群是,可根据初始化配置文件或配置参数选项快速的初始化生成一个k8s的master管理平台
kubeadm join
根据kubadm init初始化的提示信息快速的将一个node节点或其他的master节点加入到k8s集群里
1)所有节点进行初始化,安装容器引擎、kubeadm、kubelet
2)执行 kubeadm config print init-defaults 命令生成K8S集群初始化配置文件并进行修改
3)执行 kubeadm init --config 指定初始化配置文件进行K8S集群的初始化,生成K8S的master管理控制节点
4)在其它节点执行 kubeadm join 命令将node节点或其它master节点加入到K8S集群里
5)安装 cni 网络插件(flannel或calico)
1.2 如何更新kubeadm搭建的K8S的证书有效期
1)备份好证书和kubeconfig配置文件
mkdir /root/k8s.bak cp -r /etc/kubernetes/pki /root/k8s.bak/ cp /etc/kubernetes/*.yaml /root/k8s.bak/
2)更新证书
kubeadm alpha certs renew all --config=/opt/k8s/kubeadm-config.yaml
3)更新kubeconfig配置文件
kubeadm init phase kubeconfig all --config=/opt/k8s/kubeadm-config.yaml
4)重启kubelet进程和其它K8S组件的Pod
systemctl restart kubelet mv /etc/kubernetes/manifests/.yaml /tmp mv /tmp/.yaml /etc/kubernetes/manifests/
5)查看证书有效期
kubeadm alpha certs check-expiration openssl x509 -noout -dates -in /etc/kubernetes/pki/XXX.crt
2 kubeadm搭建高可用k8s实际部署
Kubeadm - K8S1.20 - 高可用集群部署
注意事项:
master节点cpu核心数要求大于2
●最新的版本不一定好,但相对于旧版本,核心功能稳定,但新增功能、接口相对不稳
●学会一个版本的 高可用部署,其他版本操作都差不多
●宿主机尽量升级到CentOS 7.9
●内核kernel升级到 4.19+ 这种稳定的内核
●部署k8s版本时,尽量找 1.xx.5 这种大于5的小版本(这种一般是比较稳定的版本)
2.1 初始化环境准备
所有节点,关闭防火墙规则,关闭selinux,关闭swap交换
systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/configiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -Xswapoff -ased -ri 's/.*swap.*/#&/' /etc/fstab
修改主机名,所有节点修改hosts文件
hostnamectl set-hostname master01hostnamectl set-hostname master02hostnamectl set-hostname master03hostnamectl set-hostname node01hostnamectl set-hostname node02hostnamectl set-hostname node03vim /etc/hosts192.168.111.5 master01192.168.111.6 master02192.168.111.7 master03192.168.111.8 node01192.168.111.9 node02192.168.111.55 node03
所有节点时间同步
yum -y install ntpdateln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho 'Asia/Shanghai' >/etc/timezonentpdate time2.aliyun.comsystemctl enable --now crondcrontab -e*/30 * * * * /usr/sbin/ntpdate time2.aliyun.com
所有节点实现Linux的资源限制
vim /etc/security/limits.conf* soft nofile 65536* hard nofile 131072* soft nproc 65535* hard nproc 655350* soft memlock unlimited* hard memlock unlimited
所有节点升级内核
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm -O /opt/kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpmwget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm -O /opt/kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpmcd /opt/yum localinstall -y kernel-ml*
更改内核启动方式
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfggrubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"grubby --default-kernelreboot
调整内核参数
调整内核参数cat > /etc/sysctl.d/k8s.conf &1 && /sbin/modprobe $i;done
2.2 所有节点安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.iomkdir /etc/dockercat > /etc/docker/daemon.json
上一篇:攻城掠地怎么开服务器?