k8s基础环境配置二

目录

一,安装docker服务

1,安装docker-ce

2,配置docker镜像加速器和驱动

二,安装软件包

安装初始化k8s需要的软件包

kubeadm初始化k8s集群

安装kubernetes网络组件-calico

测试k8s集群中部署tomcat服务。


一,安装docker服务

1,安装docker-ce

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

Master:systemctl start docker && systemctl enable docker.service

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

Node1:systemctl start docker && systemctl enable docker.service

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

Node2:systemctl start docker && systemctl enable docker.service

2,配置docker镜像加速器和驱动

Vim /etc/docker/daemon.json

{

  "registry-mirrors":["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"],

  "exec-opts": ["native.cgroupdriver=systemd"]

}

[root@hd1.com ~]# systemctl daemon-reload  && systemctl restart docker

[root@hd1.com ~]# systemctl status docker

Node1:同上

Node2:同上

二,安装软件包

安装初始化k8s需要的软件包

[root@hd1.com ~]# yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6

[root@hd1.com ~]# systemctl enable kubelet && systemctl start kubelet

[root@hd1.com]# systemctl status kubelet

查看到的状态可能是未开启,这是正常的等k8s组件起来这个kubelet就正常了。

Node1:同上操作

Node2:同上操作

kubeadm初始化k8s集群

把初始化k8s集群需要的离线镜像包上传到各个节点,手动解压:

将k8simage-1-20-6.tar.gz上传到第一个节点,然后传给另外两个节点。

在三台主机上分别进行导入镜像:

[root@hd1.com ~]# docker load -i k8simage-1-20-6.tar.gz

[root@hd2.com ~]# docker load -i k8simage-1-20-6.tar.gz

[root@hd3.com ~]# docker load -i k8simage-1-20-6.tar.gz

使用kubeadm初始化k8s集群:只在master上操作。

[root@hd1.com ~]# kubeadm init --kubernetes-version=1.20.6  --apiserver-advertise-address=192.168.1.11  --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

可以看到生成一个kubeadm jion的长字符串,需要记住生成的字符串。

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

[root@hd1.com ~]# mkdir -p $HOME/.kube

[root@hd1.com ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@hd1.com ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config

[root@hd1.com ~]# kubectl get nodes

会看到已经创建的集群,但是状态是NotReady因为还没有安装网络插件。扩容k8s集群,添加第一个工作节点。

将在master上生成的长字符串复制到另外两台主机上,加入到集群中充当工作节点。

在次进行查看:kubectl get nodes则可以看到,这两台主机已经加入到该集群中。

将集群的状态改为Ready需要在master上做:

[root@hd1.com ~]# kubectl label node hd2.com node-role.kubernetes.io/worker=worker

[root@hd1.com ~]# kubectl label node hd3.com node-role.kubernetes.io/worker=worker

再次进行查看则会看到状态已经改变。

安装kubernetes网络组件-calico

首先上传calico.yaml文件到hd1.com上,然后操作:

[root@hd1.com ~]# kubectl apply -f  calico.yaml

然后查看:[root@hd1.com ~]# kubectl apply -f  calico.yaml

全部变为running和1时,则证明已经启动完毕。

测试是否可以正常访问网络:

将busybox-1-28.tar.gz上传到hd2.com,hd3.com然后进行导入镜像:

[root@hd2.com ~]# docker load -i busybox-1-28.tar.gz

[root@hd3.com ~]# docker load -i busybox-1-28.tar.gz

[root@hd1.com ~]# kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh

登录之后ping www.baidu.com

可以ping通说明可以连接外网络。

测试k8s集群中部署tomcat服务。

将tomcat.tar.gz上传到hd2.com,hd3.com,手动解压

[root@hd2.com ~]# docker load -i tomcat.tar.gz

[root@hd3.com ~]# docker load -i tomcat.tar.gz

上传yaml文件到hd1.com上:

tomcat.yaml      tomcat-service.yaml    

[root@hd1.com ~]# kubectl apply -f tomcat.yaml

查看pod:

Kubectl get pods

可以看到已经创建的pod并且状态还running

进行查看ip地址:kubectl get pods -o wide || grep 10

[root@hd1.com ~]# kubectl apply -f tomcat-service.yaml

[root@hd1.com ~]# kubectl get svc

NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE

kubernetes   ClusterIP   10.255.0.1       <none>        443/TCP          158m

tomcat       NodePort    10.255.227.179   <none>        8080:30080/TCP   19m

然后进行访问web界面:192.168.1.11(或者另外两个节点的ip都可以):30080

即可看到tomcat的界面就算成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值