2022年5月3日,正式发布,在新版本中,我们看到Kubernetes作为容器编排的事实标准,正愈发变得成熟,有12项功能都更新到了稳定版本,同时引入了很多实用的功能,例如StatefulSets支持批量滚动更新,NetworkPolicy新增NetworkPolicyStatus字段方便进行故障排查等
1.2改动Kubernetes正式移除对Dockershim的支持,讨论很久的“弃用Dockershim”也终于在这个版本画上了句号。
想要清楚地了解docker和k8s的关系,可以参考下这篇文章:
之前:
之后:
如还想继续在k8s中使用docker,需要自行安装cri-dockerd组件;不然就使用containerd
序号
操作系统及版本
备注
1
2.1.2主机硬件配置说明CPU
内存
硬盘
角色
IP地址
主机名
4C
8G
100GB
master
172.16.200.30
k8s-master01
4C
8G
100GB
node
172.16.200.31
k8s-node1
4C
8G
100GB
node
172.16.200.32
k8s-node2
2.1.3主机配置2.1.3.1主机名配置由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为node节点,名称分别为:k8s-node1及k8s-node2
master节点hostnamectlset-hostnamek8s-node1
node2节点临时关闭永远关闭swap分区,需要重启操作系统sed-i'/swap/s/^\(.*\)$/systemctldisablefirewalldfirewall-cmd--statenotrunning2.1.3.5SELINUX配置
setenforce0sed-ri's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config2.1.3.6时间同步配置
设置上海时区,东八区使之生效$sysctl-p/etc//
modprobebr_netfilter
lsmod|grepbr_netfilterbr_netfilter2225602.1.3.9安装ipset及ipvsadm
安装ipset及ipvsadm$yum-yinstallipsetipvsadm
格式化磁盘$/dev/sdb写入挂载信息到fstab中,永久挂载$echo"/dev/sdb/var/lib/dockerext4defaults00"/etc/fstab查看磁盘挂载$df-h/dev/sdb安装旧版本启动docker$systemctlenabledockersystemctlrestartdocker2.2.5cri-dockerd安装2.2.5.1下载cri-dockerd二进制文件
项目地址:
下载二进制版本
+x/usr/bin/cri-dockerd
生成socket文件cat"EOF"/usr/lib/systemd/system/[Unit]Description=CRIDockerSocketfortheAPIPartOf=[Socket]ListenStream=%t/=0660SocketUser=rootSocketGroup=docker[Install]WantedBy=
【也可以直接下载,需要修改中ExecStart启动参数,这里/usr/bin/cri-dockerd一定要加上参数--pod-infra-container-image=/google_containers/pause:3.7用来指定所用的pause镜像是哪个,否则默认拉取/pause:3.6,会导致安装失败。
2.2.5.2启动cri-dockersystemctldaemon-reloadsystemctlstartcri-dockersystemctlenablecri-dockersystemctlstatuscri-docker2.3集群部署2.3.1集群软件及版本说明
截至本文发稿,2022.6.6最新版是1.24.1版本
kubeadm
kubelet
kubectl
版本
1.24.1
1.24.1
1.24.1
安装位置
集群所有主机
集群所有主机
集群所有主机
作用
初始化集群、管理集群等
用于接收api-server指令,对pod生命周期进行管理
集群应用命令行管理工具
2.3.2kubernetesYUM源准备2.3.2.1谷歌YUM源[国外主机]$catEOF/etc//[kubernetes]name=Kubernetesbaseurl=2.3.2.2阿里云YUM源【国内主机】
$catEOF/etc//[kubernetes]name=Kubernetesbaseurl=$yumcleanallyummakecache2.3.3集群软件安装
默认安装的版本就是最新版1.24.X,当然也可以指定版本安装,如$yuminstallkubeadmkubeletkubectlpod子网scheduler:{}---apiVersion:/v1alpha1kind:KubeProxyConfigurationmode:ipvs2.3.6集群镜像准备
提前下载镜像到本地$[config/images]/google_containers/kube-apiserver:[config/images]/google_containers/kube-controller-manager:[config/images]/google_containers/kube-scheduler:[config/images]/google_containers/kube-proxy:[config/images]/google_containers/pause:3.7[config/images]/google_containers/etcd:3.5.3-0[config/images]/google_containers/coredns:$/google_containers//google_containers//google_containers//google_containers//google_containers//google_containers//google_containers/
!/bin/images_list='/google_containers/kube-apiserver:/google_containers/kube-controller-manager:/google_containers/kube-scheduler:/google_containers/kube-proxy:/google_containers/pause:3.7/google_containers/etcd:3.5.3-0/google_containers/coredns:$images_listdodockerpull$$images_list2.3.7集群初始化
kubeadminit--config=
kubeadmconfigimagespull--config==5I060410:03:37.1339022673:255]loadingconfigurationfrom""I060410:03:37.1363542673:214];settingitto"systemd"[config/images]/google_containers/kube-apiserver:[config/images]/google_containers/kube-controller-manager:[config/images]/google_containers/kube-scheduler:[config/images]/google_containers/kube-proxy:[config/images]/google_containers/pause:3.7[config/images]/google_containers/etcd:3.5.3-0[config/images]/google_containers/coredns:[root@localhost~]mkdir-p$HOME/.kube[root@k8s-master01~]chown$(id-u):$(id-g)$HOME/.kube/config[root@k8s-master01~]exportKUBECONFIG=/etc/kubernetes/2.3.8集群网络准备2.3.8.1calico安装
wget:"10.244.0.0/16".
[root@kubesphere~]watchkubectlgetpods-nkube-system
已经全部运行[root@k8s-master01~]curl-L
安装calicoctlchmod+x/usr/bin/calicoctl查看添加权限后文件calicoctlversionClientVersion::967e24543ClusterVersion::k8s,bgp,kubeadm,kdd
通过~/.kube/config连接kubernetes集群,查看已运行节点$DATASTORE_TYPE=kubernetes$KUBECONFIG=~/.kube/config$calicoctlgetnodesNAMEk8s-master012.3.9集群工作节点添加
[root@k8s-node1~]:6443--\--discovery-token-ca-cert-hashsha256:7323a8b0658fc33d89e627f078f6eb16ac94394f9a91b3335dd3ce73a3f313a0--cri-socketunix:///var/run/
注意:必须要加上--cri-socketunix:///var/run/,不然会报错
在master节点上操作,查看网络节点是否添加kubectlgetno
查看集群健康情况[root@k8s-master01~]#kubectlgetcsWarning:+NAMESTATUSMESSAGEERRORcontroller-managerHealthyokschedulerHealthyoketcd-0Healthy{"health":"true","reason":""}三、参考
;spm_id_from=333.880.my_