在之前的k8s实践中,我们使用minikube搭建了k8s环境,为了更真实的展示生产级别的k8s,本节课采用kubeadm来搭建master+worker集群,实现k8s集群,master、worker在虚拟机上来执行,中间遇到了超级多的坑,在这里系统的总结一下,分上下两篇进行讲解。
一共有3台虚拟服务器主机,上篇主要介绍,kubeadm安装前的准备,kubeadm安装,下篇主要介绍使用Flannel 把Master、worker节点链接在k8s的同一个网络中,安装k8s的模拟环境是一切实践k8s的基础条件。
安装kubeadm前的准备可以说是至关重要的一个环节,如果这个出错,就会造成后面的各种报错,每台机器里都要提前安装好docker。
(资料图片仅供参考)
master IP: 192.168.88.134worker IP: 192.168.88.139console IP: 192.168.88.136
1.改变hostnmae,把名字改成master
sudo vim /etc/hostname
2.Docker 的配置做一点修改,在“/etc/docker/daemon.json”里把 cgroup 的驱动程序改成 systemd ,然后重启 Docker 的守护进程。
# fix docker issuecat <
3.为了让 Kubernetes 能够检查、转发网络流量,你需要修改 iptables 的配置,启用“br_netfilter”模块。
# iptablescat <
4.你需要修改“/etc/fstab”,关闭 Linux 的 swap 分区。
# Disable Swapsudo swapoff -asudo sed -ri "/\sswap\s/s/^#?/#/" /etc/fstab
安装kubeadm前的准备特别重要,前期准备不正确,容易造成kubeadm安装不正确。
执行下面的脚本,去.bashrc里面添加一下提示的命令:
sudo apt install -y apt-transport-https ca-certificates curl nfs-common#sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpgcurl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -#echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listcat <
source <(kubectl completion bash) ,执行 source .bashrc 生效。
ubuntu22.04 默认是关闭selinux的,( 我没有使用这个命令) 下面是关闭的命令:
vim /etc/selinux/configSELINUX=disabled
kubeadm versionkubectl version --client
恭喜你,kubeadm已经成功安装了。
关键词: Kubernetes Docker