Kubernetes(k8s)之k8s的部署
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubernetes(k8s)之k8s的部署相关的知识,希望对你有一定的参考价值。
前提准备
我使用了四台虚拟机
server1 172.25.38.1 harbor仓库端
server2 172.25.38.2 k8s的master端
server3 172.25.38.3 k8s的node端
server4 172.25.38.4 k8s的node端
四台虚拟机均部署好了docker
关于harbor仓库和docker的部署可以参照之前的文章
docker部署:https://blog.csdn.net/m0_55005311/article/details/118964794
harbor仓库:https://blog.csdn.net/m0_55005311/article/details/118958310
部署k8s
server2、3、4均需做的准备工作
关闭swap分区
swapoff -a
vim /etc/fstab #注释掉/etc/fstab文件中的swap定义
设置docker网桥
cat /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
sysctl --system
docker info #没有warning即可
告诉仓库地址并设置systemd
[root@server2 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://reg.westos.org"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
重启让设置生效
systemctl daemon-reload
systemctl restart docker #重启
docker info #没有问题
需要kubeadm-1.21.3.tar.gz的安装包,我提前下载的,直接解压安装并启动
[root@server2 ~]# ls
anaconda-ks.cfg kubeadm-1.21.3.tar.gz
[root@server2 ~]# tar zxf kubeadm-1.21.3.tar.gz
[root@server2 ~]# cd packages/
[root@server2 packages]# yum install -y *
[root@server2 packages]# systemctl enable --now kubelet.service
查看默认配置信息
仓库端上传镜像
先新建一个项目(我之前已经建立过了)
上传提前打包好的镜像
docker load -i k8s-1.21.3.tar
docker images | grep ^reg.westos.org/k8s #有7个相关镜像
docker images | grep ^reg.westos.org/k8s | awk '{system("docker push "$1":"$2"")}' #批量上传镜像到reg.westos.org/k8s
如下是需要的镜像
master端初始化
配置环境变量与kubectl补齐
# 环境变量
export KUBECONFIG=/etc/kubernetes/admin.conf
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
# 补齐
echo "source <(kubectl completion bash)" >> ~/.bashrc
执行下面的命令初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository reg.westos.org/k8s
出现了如下错误,是因为cpu至少需要两个,我只给了一个
关闭虚拟机,增加一个核心数,重启虚拟机
再进行初始化,成功!按提示执行下图命令
在master端安装网络组件
在控制节点安装flannel组件,若无flannel镜像可直接通过github拉取,像下图运行正常即可
添加后端节点
在初始化时,最下面有如图的提示,直接在想增加的节点端执行该命令即可(注意token的时效性只有24小时)
在master端查看节点添加成功并且处于ready状态!
[root@server2 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
server2 Ready control-plane,master 38m v1.21.3
server3 Ready <none> 113s v1.21.3
server4 Ready <none> 49s v1.21.3
至此,部署完成!
以上是关于Kubernetes(k8s)之k8s的部署的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes(k8s)之部署让k8s图形化的Dashboard
云原生之kubernetes实战使用Sealos部署k8s集群环境
云原生之kubernetes实战在k8s集群环境下部署Tomcat应用
云原生之kubernetes实战在k8s环境下部署Laverna笔记工具