自动化安装方式(kubeasz)*
生产环境推荐(首次安装下载相关配置和安装包)是基于Ansible实现的部署工具
简单介绍
每一具体k8s集群的详细配置参数文件
Ansible 任务配置文件
镜像安装包
安装部署步骤
前提 : 保证Ansible所在主机节点可以免密访问其他所有受控主机节点
(配置免密登录)
SSH免密登陆
配置从部署节点能够ssh免密登陆所有节点,并且设置python软连接
cd ~/.ssh ssh-keygen -t rsa #$IP为所有节点地址包括自身,按照提示输入yes 和root密码,ip地址为内网ip ssh-copy-id $IP # 为每个节点设置python软链接 ssh $IP ln -s /usr/bin/python3 /usr/bin/python
编排K8S集群
-
下载安装脚本
wget https://github.com/easzlab/kubeasz/releases/download/3.3.1/ezdown chmod +x ./ezdown
-
下载kubeasz代码、二进制、默认容器镜像(更多关于ezdown的参数,运行./ezdown 查看)
# 国内环境 ./ezdown -D # 海外环境 #./ezdown -D -m standard
-
创建集群配置实例
# 容器化运行kubeasz ./ezdown -S # 创建新集群 k8s-01 docker exec -it kubeasz ezctl new k8s-01 2021-01-19 10:48:23 DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s-01 2021-01-19 10:48:23 DEBUG set version of common plugins 2021-01-19 10:48:23 DEBUG cluster k8s-01: files successfully created. 2021-01-19 10:48:23 INFO next steps 1: to config '/etc/kubeasz/clusters/k8s-01/hosts' 2021-01-19 10:48:23 INFO next steps 2: to config '/etc/kubeasz/clusters/k8s-01/config.yml'
-
修改'/etc/kubeasz/clusters/k8s-01/hosts'
vim /etc/kubeasz/clusters/k8s-01/hosts # 修改为 # 'etcd' cluster should have odd member(s) (1,3,5,...) [etcd] 192.168.59.135 192.168.59.141 #192.168.59.142 # master node(s) [kube_master] 192.168.59.135 # work node(s) [kube_node] 192.168.59.141 #192.168.59.142
-
开始安装
#建议配置命令alias,方便执行 echo "alias dk='docker exec -it kubeasz'" >> /root/.bashrc source /root/.bashrc # 一键安装,等价于执行docker exec -it kubeasz ezctl setup k8s-01 all dk ezctl setup k8s-01 all # 或者分步安装,具体使用 dk ezctl help setup 查看分步安装帮助信息 # dk ezctl setup k8s-01 01 # dk ezctl setup k8s-01 02 # dk ezctl setup k8s-01 03 # dk ezctl setup k8s-01 04 ...
执行dk ezctl setup k8s-01 all
,最终成功安装结束
-
断开SSH连接再重新连接,可以发现安装K8S成功
kubectl version # 验证集群版本 kubectl get node # 验证节点就绪 (Ready) 状态 kubectl get pod -A # 验证集群pod状态,默认已安装网络插件、coredns、metrics-server等 kubectl get svc -A # 验证集群服务状态
查看节点信息