基于Ansible自动安装kubernetes
环境准备
我们以如下机器环境为例:

开放端口:
控制平面节点

工作节点

请按如上中规定的开放端口,或关闭防火墙:
systemctlstopfirewalld&&\
systemctldisablefirewalld
安装常用工具
sudoyuminstall-yyum-utilswgetvimmtrcurltelentlsofgitunzip
下载安装工具
cd/opt/
(部分内容已省略)
检测端口
执行端口检测工具[checkout_k8s_port.sh],用来检测k8s所需端口是否已经开放,保证k8s安装成功,使用步骤如下
cd/opt/kubernetes/
shcheckout_k8s_port.sh192.168.2.100192.168.2.101192.168.2.102192.168.2.103
脚本后参数为k8s环境服务器IP,多个服务器IP以空格分隔。
修改hostname
hostnamectlset-hostnamek8snode100
hostnamectlset-hostnamek8snode101
hostnamectlset-hostnamek8snode102
hostnamectlset-hostnamek8snode103
安装ansible
cd/opt/kubernetes
shkubeadm-ha/ansible/install.sh
使用指南
00-安装须知 01-集群安装 02-节点管理 03-证书轮换 04-集群升级
05-集群备份 06-集群恢复 07-集群重置 08-离线安装 09-扩展阅读
根据规划选择相应配置文件设置
cdkubeadm-ha
viexample/hosts.m-master.hostname.ini
一句命令拥有一个高可用kubernetes集群:
ansible-playbook-iexample/hosts.m-master.hostname.ini90-init-cluster.yml
如果安装失败,可以尝试升级内核后再进行安装。
升级内核,默认安装集群是不会升级内核的,若需升级内核,请执行(内核升级完成后请手动重启所有节点):
ansible-playbook-iexample/hosts.s-master.hostname.ini00-kernel.yml
生成证书secret
kubectlcreatesecretgenerickubernetes-dashboard-certs--from-file=/opt/ssl/xxx.com.key--from-file=/opt/ssl/xxx.com.pem
k8s-dashboard通过ingress暴露访问
修改域名(需要开启443端口)
cd/opt/kubernetes
vimplugins/kubernetes-dashboard/ingress-dashboard.yaml
执行脚本
kubectlapply-fplugins/kubernetes-dashboard/ingress-dashboard.yaml
创建用户
kubectlapply-fplugins/kubernetes-dashboard/create-user.yaml
获取登陆token
shplugins/kubernetes-dashboard/get-user-token.sh

访问dashboard
如果域名没有配置解析,可以修改本机hosts文件
192.168.2.217dashboard-test.com

输入token后登录

根据以上内容可以了解到基于Ansible自动安装kubernetes的流程,想了解更多详情,可以持续关注易族智汇javashop。