【自动化】基于ansible自动化部署K8S1.26
目录
环境说明
| IP | 角色 | 系统 | 内核 |
|---|---|---|---|
| 10.168.1.11 | ansible | Centos7.9 | 5.4 |
| 10.168.1.101 | master01 | Centos7.9 | 5.4 |
| 10.168.1.102 | master02 | Centos7.9 | 5.4 |
| 10.168.1.103 | master03 | Centos7.9 | 5.4 |
| 10.168.1.104 | worker01 | Centos7.9 | 5.4 |
| 10.168.1.105 | worker02 | Centos7.9 | 5.4 |
| 10.168.1.100 | VIP | / | / |
部署流程
ansible初始化
免密
export IP="10.168.1.101 10.168.1.102 10.168.1.103 10.168.1.104 10.168.1.105"
export SSHPASS=root_passwd
for HOST in $IP;do
sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST
done
主机host
编辑主机hosts
cat >> /etc/ansible/hosts << EOF
[kube_pki]
10.168.1.101
[etcd]
10.168.1.101 hostname=etcd-1
10.168.1.102 hostname=etcd-1
10.168.1.103 hostname=etcd-1
[kube_master]
10.168.1.101 hostname=k8s-master-1
10.168.1.102 hostname=k8s-master-2
10.168.1.103 hostname=k8s-master-3
[kube_node]
10.168.1.104 hostname=k8s-node-1
10.168.1.105 hostname=k8s-node-2
[chrony]
10.168.1.101
EOF
编辑ansible-k8s安装包配置
- 下载k8s-V1.26部署包
来源:阿里云盘 | 提取码:v8k8
修改下发pki配置
vim pki/files/pki.sh
export k8s01="10.168.1.101"
export k8s02="10.168.1.102"
export k8s03="10.168.1.103"
export lb_vip="10.168.1.100"
编辑lb变量
vim lb/files/lb.sh
#!/bin/bash
#master节点
export lb1="10.168.1.101"
export lb2="10.168.1.102"
export lb3="10.168.1.103"
#VIP地址
export vip="10.168.1.110"
#一定要配置成物理网卡的名称
export eth="ens192"
export lb="10.168.1.101 10.168.1.102 10.168.1.103"
编辑ansible部署文件
...
vim main.yaml
- hosts:
- etcd
- kube_master
- kube_node
remote_user: root
#所有节点IP
vars:
- all: 10.168.1.101 10.168.1.102 10.168.1.103 10.168.1.104 10.168.1.105
- passwd: root_passwd
...
...
- hosts:
- kube_pki
remote_user: root
roles:
- role: pki
vars:
- all: 10.168.1.101 10.168.1.102 10.168.1.103 10.168.1.104 10.168.1.105
- etcd: 10.168.1.101 10.168.1.102 10.168.1.103
- Master: 10.168.1.101 10.168.1.102 10.168.1.103
- Work: 10.168.1.104 10.168.1.105
...
- hosts:
- kube_pki
remote_user: root
roles:
#选择网络组件,默认为calico
- role: calico
# - role: cilium
- role: coredns
- role: dashboard
- role: ingress
- role: metrics-server
执行部署程序
- 所有主机节点不需要配置hosts本地解析
- 默认使用阿里Centos源
- 内核已升级5.4,部署脚本提示kernel升级失败可以忽略
- 保证系统为清洁系统,没有dockder残留
- 如果关闭了selinux、swap,可以忽略安装告警
- 如果dashboard相关监控POD镜像拉取有问题,请自行修改yaml文件使用本地镜像,可以使用ctr导入本地image.tar包,注意加上namesapce参数导入
ansible-playbook main.yaml
转载请注明-MrZ-个人博客
THE END
0
二维码
海报
【自动化】基于ansible自动化部署K8S1.26
目录1 环境说明2 部署流程2.1 ansible初始化2.1.1 免密2.1.2 主机host3 编辑ansible-k8s安装包配置3.1 修改下发pki配置3.2 编辑lb变量4 编辑ansible部署文件5 执行部署程序
环境说明
IP
角色
系统
内核
10.……


MrZ