集群服务器架构:arm64
集群操作系统:openeuler22.03
ansible管理机环境:linux(架构、版本随意)
k8s版本:1.24.2
containerd版本:1.6.6
harbor版本:2.10.2
# yum install epel-release -y
# yum install ansible -y
# yum install expect ssh sshpass -y
# yum install unzip zip tar -y
注:做好机器的时间同步
下载准备好软件包(包含所有涉及文件和镜像,比较大),解压到指定目录:
链接:https://pan.baidu.com/s/1I09BeIDG2nIgA9caPhTuiA
提取码:1234
修改hosts文件,根据规划修改对应IP和名称。
# vi hosts
# 根据管理机器架构,选择cfssl tar包版本(x86/arm)
...
修改group_vars/all.yml文件,修改软件包目录和证书可信任IP。
# vim group_vars/all.yml
software_dir: '/~/k8s_1.24.2'
...
cert_hosts:
k8s:
etcd:
在ansible上运行SSH免密脚本:
# 配置 server.txt服务器信息
# sh setup_ssh_keys.sh
前期准备工作:
# ansible-playbook -i hosts prepare.yml -uroot
单Master版:
# ansible-playbook -i hosts single-master-deploy.yml -uroot
多Master版:
# ansible-playbook -i hosts multi-master-deploy.yml -uroot
# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master1 Ready <none> 9h v1.24.2
k8s-node1 Ready <none> 9h v1.24.2
如果安装某个阶段失败,可针对性测试.
例如:只运行部署插件
# ansible-playbook -i hosts single-master-deploy.yml -uroot --tags addons
1)修改hosts,添加新节点ip
# 配置 server.txt服务器信息
# sh setup_ssh_keys.sh
# vi hosts
...
[newnode]
192.168.114.75 node_name=k8s-node2
2)执行部署
# prepare.yml中hosts修改为newnode
# ansible-playbook -i hosts prepare.yml -uroot
# ansible-playbook -i hosts add-node.yml -uroot
部署产生的证书都会存放到目录“kube-ansible/ssl”,一定要保存好,后面还会用到~
# sh tools/unsintall_k8s.sh