使用初始化完成系统
root@master01:~# cat /proc/version
Linux version 5.4.0-92-generic (buildd@lcy01-amd64-026) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #103~18.04.2-Ubuntu SMP Wed Dec 1 16:50:36 UTC 2021
名称 ip 主机名 操作系统
master节点 192.168.3.26 master01 Ubuntu18.04
master节点 192.168.3.27 master01 Ubuntu18.04
node节点 192.168.3.28 node01 Ubuntu18.04
node节点 192.168.3.29 node02 Ubuntu18.04
Pod网络 10.244.0.0/16 —
name version
docker 20.10.9
kubelet 1.23.1
kubeadm 1.23.1
kubectl 1.23.1
dashboard 2.4.0
root@master01:~# apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
root@master01:~# apt-get install python2.7 -y
root@master01:~# ln -s /usr/bin/python2.7 /usr/bin/python
#注意pip 21.0以后不再支持python2和python3.5,需要如下安装
#To install pip for Python 2.7 install it from https://bootstrap.pypa.io/2.7/ :
root@master01:~# curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py
root@master01:~# python get-pip.py
root@master01:~# python -m pip install --upgrade “pip < 21.0”
#pip安装ansible(国内如果安装太慢可以直接用pip阿里云加速)
root@master01:~# pip install ansible -i https://mirrors.aliyun.com/pypi/simple/
#更安全 Ed25519 算法
#ssh-keygen -t ed25519 -N ‘’ -f ~/.ssh/id_ed25519
#或者传统 RSA 算法
#ssh-keygen -t rsa -b 2048 -N ‘’ -f ~/.ssh/id_rsa
root@master01:~# ssh-keygen -t ed25519 -N ‘’ -f ~/.ssh/id_ed25519
root@master01:~# ssh-copy-id root@master01
root@master01:~# ssh-copy-id root@master02
root@master01:~# ssh-copy-id root@node01
root@master01:~# ssh-copy-id root@node02
数量多的话,有个scp脚本魔板。
#为每个节点设置python软链接
#ssh $IPs ln -s /usr/bin/python3 /usr/bin/python (未操作)
[root@master01 ~]# wget https://github.com/easzlab/kubeasz/releases/download/3.2.0/ezdown
[root@master01 ~]# chmod +x ./ezdown
[root@master01 ~]# ./ezdown -D
上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz
root@master01:/etc/kubeasz# ./ezctl new k8s-01
然后根据提示配置’/etc/kubeasz/clusters/k8s-01/hosts’ 和 ‘/etc/kubeasz/clusters/k8s-01/config.yml’:根据前面节点规划修改hosts 文件和其他集群层面的主要配置选项;其他集群组件等配置项可以在config.yml 文件中修改。
测试安装,只修改了etcd、master、node
root@master01:/etc/kubeasz# ./ezctl setup k8s-01 all
#https://github.com/easzlab/kubeasz
root@master01:/etc/kubeasz/playbooks# kubectl apply -f nginx.yaml
(1)、创建一个nginx的pod
现在我们在kubernetes集群中创建一个nginx的pod,验证是否能正常运行。
在master节点执行一下步骤:
[root@k8s-master01 ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
[root@k8s-master ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed
[root@k8s-master ~]#
现在我们查看pod和service
[root@k8s-master01 ~]# kubectl get pod,svc -o wide
root@master01:/# kubectl apply -f tomcat.yaml
root@master01:/# kubectl get pod,svc -o wide