【自动化】基于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安装包配置

修改下发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

file
file

转载请注明-MrZ-个人博客
THE END
分享
二维码
海报
【自动化】基于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.……
<<上一篇
下一篇>>