版本说明
| 第 1 列 | 第 2 列 |
|---|---|
| 操作系统版本 | 22.03 (LTS-SP4) |
| 内核版本 | Linux 5.10.0-278.0.0.181.oe2203sp4.x86_64 |
| kubernetes版本 | v1.20.2 |
使用的是官方的yum源提供的kubeadm进行的安装。此次安装的kubernetes为单节点,仅供快速的学习研究使用。
- 安装基础的软件包
sudo dnf install tar iptables chrony unzip iptables kubernetes-kubeadm docker vim kubernetes-client ipset ipvsadm conntrack-tools socat ebtables nftables kubernetes-kubelet -y
-
设置时区
timedatectl set-timezone Asia/Shanghai -
将hostname添加到hosts文件中
vim /etc/hosts
-
启动kubelet(操作了就可以,只有使用了kubeadm初始化后kubelet才能正常启动)
systemctl start kubelet
systemctl enable kubelet -
使用kubeadm初始化节点(10.11.84.0为主机ip 10.244.0.0为pod的ip段,默认使用了阿里的镜像源去替代了google的镜像源)
kubeadm init --image-repository ``registry.cn-hangzhou.aliyuncs.com/google_containers`` --apiserver-advertise-address=10.11.84.0 --pod-network-cidr=10.244.0.0/16 -
配置一些配置文件,配置后kubectl才可以正常的执行出结果
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config -
查看当前安装的节点信息
kubectl get nodes -o wide
上面节点已经可以正常出来了但是仍旧处于notready的状态,主要是因为还未安装网络插件。 -
安装网络插件,本次使用flannel。
kubectl apply -fhttps://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml -
安装cni,也是网络插件的一部分
sudo dnf install -y containernetworking-plugins -
对cni二进制文件进行软链接,以让flannel容器可以读取到这些二进制文件
sudo ln -s /usr/libexec/cni/* /opt/cni/bin -
再次查看节点状态已经处于ready状态

-
允许这个单节点的master进行容器调度,k8s-test1为节点名称
kubectl taint nodes k8s-test1 ``node-role.kubernetes.io/master-
下图的第一条命令是查看是否允许进行节点的调度,nochedule为不允许调度,通过命令修改后再次查看是可以进行调度的。
