首先要进行安装docker-ce并且进行启动以及设置开机自启,三台机器都要做

yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io  -y

systemctl start docker && systemctl enable docker.service

 配置docker镜像加速器和驱动,三台都做   vim  /etc/docker/daemon.json

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
上述是修改docker文件驱动为systemd,默认为cgroupfs,kubelet默认使用systemd,两者必须一致才可以
然后
systemctl daemon-reload  && systemctl restart docker  #开启
systemctl status docker  #查看验证
到这里docker就已经安装完毕了

再安装初始化k8s所需要的软件包,启动并查看状态,三台都做

yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6  #安装

systemctl enable kubelet && systemctl start kubelet  #启动

systemctl status kubelet  #查看状态

拷贝一份k8s的镜像  k8simage-1-20-6.tar.gz,三台都需要

三台机器都生成镜像  docker load -i /root/k8simage-1-20-6.tar.gz

查看docker images

 使用kubeadm初始化k8s集群,开始搭建k8s集群

kubeadm init --kubernetes-version=1.20.6  --apiserver-advertise-address=192.168.66.135  --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification,看到下图说明成功

并且kubeadm join 192.168.66.135:6443 --token dib9j4.okkeoadei2gxaza2 \
    --discovery-token-ca-cert-hash sha256:d14236ec804b394b06a889bd7acc6d9f6448e4bbf3c43245b8201550a2859ce1是每个人都不一样,该命令是把node节点加入集群,需要保存下来

配置kubectl的配置文件config,相当于对kubectl进行授权,这样kubectl命令可以使用这个证书对k8s集群进行管理

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

kubectl get nodes  #查看节点

出现NotReady说明没有安装网络插件

查看加入节点的命令

kubeadm token create --print-join-command,出现的内容要记住

 输入到后两台节点机器上

看到上面说明节点已经加入集群了

在master上查看集群节点状况

none说明节点是工作节点

kubectl label node hd2.com node-role.kubernetes.io/worker=worker命令可以把none变为worker

 安装kubernetes网络组件-Calico,使用yaml文件安装calico 网络插件

kubectl apply -f  calico.yaml

再次查看集群状态   kubectl get nodes,可以发现变为了Ready

kybectl get pods -n kube-system,看到下列信息就说明k8s集群在正常运行

把 tomcat.tar.gz上传给两台node节点机器

然后编写tomcat.yaml文件 ,在master上利用命令kubectl apply -f tomcat.yaml来添加该文件

文件内容如下:

查看ip地址在哪个节点上面,可以看到是node2

进行kubectl get pods查看,状态正在运行中

再加入一个service资源文件tomcat-service.yaml,同理加入进去

进行kubectl get svc查看,可以看到端口号30080

在node2进行登录验证

 

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐