一.什么是k8s
二:k8s的部署过程
实验准备:此次实验k8s所需rpm包以及镜像都是1.15.0版本
主机 | 服务 |
---|---|
server1 | manager |
server2 | node |
server3 | node |
前提:
做这个实验前,我们因为做过swarm集群,所以需要将swarm集群删除,否则会跟k8s冲突,为了一个纯净的实验环境,我们需要进行以下操作:
server1:
1003 docker stack rm portainer
1001 docker stack ls
1004 docker volume prune
1011 docker node ls
1012 docker node rm server4 #在server4离开集群之后才能删除
1013 docker node rm server3 #在server3离开集群之后才能删除
1014 docker node rm server2 #在server2离开集群之后才能删除
1015 docker node ls
1017 docker swarm leave -f
1018 docker node ls #此时显示命令不可用,因为server1已经离开集群
1019 docker network prune
1020 docker network ls
1021 docker volume ls
最终结果图:
server2/3/4:
[root@server2 ~]# docker swarm leave #离开集群
Node left the swarm.
实验步骤如下:
在server1,server2,server3安装相应的软件
需要在每台机器上都安装以下的软件包:
-
kubeadm: 用来初始化集群的指令。
-
kubelet: 在集群中的每个节点上用来启动 pod 和 container 等。
-
kubectl: 用来与集群通信的命令行工具。
kubeadm 不能 帮您安装或管理 kubelet 或 kubectl ,所以您得保证他们满足通过 kubeadm 安装的 Kubernetes 控制层对版本的要求。如果版本没有满足要求,就有可能导致一些难以想到的错误或问题。然而控制层与 kubelet 间的 小版本号 不一致无伤大雅,不过请记住 kubelet 的版本不可以超过 API server 的版本。例如 1.8.0 的 API server 可以适配 1.7.0 的 kubelet,反之就不行了
第一步:安装k8s并关闭swap分区
在物理机上将k8s所需要的软件包都拷贝到我们需要做实验的虚拟机上面:
在server1/2/3安装k8s软件包:
[root@server1 rpm]# pwd
/mnt/rpm
[root@server1 rpm]# ls
cri-tools-1.13.0-0.x86_64.rpm kubelet-1.15.0-0.x86_64.rpm
kubeadm-1.15.0-0.x86_64.rpm kubernetes-cni-0.7.5-0.x86_64.rpm
kubectl-1.15.0-0.x86_64.rpm
[root@server1 rpm]# yum install -y *
server1/2/3关闭swap:
[root@server3 rpm]# swapoff -a
[