在冒险的编程陆地上,有许多战斗需要我们去取胜。今天的挑战是在CentOS 7.8上使用kubeadm安装Kubernetes 1.26。拿好你的武器,开始这段旅程吧,让我们一步一步地走。
首先,明确一点,我们需要的是带有SSH权限的CentOS 7.8服务器,也需要对其进行SSH连接。让我们假设你已经准备好这个基础环境,下面就是安装的实操时间!
步行遥远的路之前先准备好路标,升级所有包确保系统最新。你需要在服务器上运行以下命令:
sudo yum update -y
接下来,为了让整个集群能够顺利通讯,你需要关闭SElinux:
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
然后,我们停止并禁用firewalld,确保网络通讯不受网络策略干扰:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
要让Kubernetes和Docker等容器工具顺利运行,确保以下内核参数已经设置:
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
整装待发,让我们开始安装Docker和Kubeadm。首先安装Docker:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
有了Docker, 下面安装Kubeadm, kubelet和kubectl:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
万事具备,就让我们初始化Kubernetes集群了:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
输出中会有一个加入节点的命令,注意保存好。
为了让普通用户能用kubectl操作集群,设置kubeconfig:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
接下来是网络插件,这里我们选择Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
现在, Kubernetes 1.26集群已经开始起飞了!之后可以邀请更多节点来加入成为网络一份子。启动你的新篇章,在这片陆地上探索新的编程世界。
以上所有的步骤可能看起来繁琐,但这是战斗的时刻,不应抱怨。每一个步骤都是构建成你强大应用的关键,没有哪一步是多余的。
这就是所有的前线报告,冒险家们,你们已经做好准备,开始在CentOS 7.8上通过Kubeadm安装Kubernetes 1.26的挑战了吗?走上这段旅程,让你的代码飞翔吧。