搭建k8s集群的总结
一、k8s相关了解参考:k8s入门介绍k8s中pod的理解以及k8s运行流程二、手动搭建k8s集群2.1搭建minikube单机版k8s集群minikube基于go语言开发,可以在单机环境下快速搭建可用的k8s集群,非常适合测试和本地开发。简而言之,minikube是只有一个节点的k8s集群实现。参考:VMware 安装 Centos7 超详细过程centOS上Minikube快速搭建k8s使用m
一、k8s相关了解
参考:
二、手动搭建k8s集群
2.1搭建minikube单机版k8s集群
minikube基于go语言开发,可以在单机环境下快速搭建可用的k8s集群,非常适合测试和本地开发。简而言之,minikube是只有一个节点的k8s集群实现。
参考:
- VMware 安装 Centos7 超详细过程
- win10上Minikube快速搭建k8s
- 使用minikube在centOS搭建kubernetes集群
- 本地安装单机版的minikube
- minikube运行简单实例
- 公开服务IP 地址以访问集群中应用程序
- 使用docker for window图形化快速搭建k8s
- win10环境安装minikube
2.2 搭建多节点的k8s集群
参考:多节点k8s集群搭建
三、使用ansible自动化搭建k8s集群
Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。
- Inventory:Ansible管理的主机信息,包括IP地址、SSH端口、账号、密码等
- Modules:任务均有模块完成,也可以自定义模块,例如经常用的脚本。
- Plugins:使用插件增加Ansible核心功能,自身提供了很多插件,也可以自定义插件。例如connection插件,用于连接目标主机。
- Playbooks:“剧本”,模块化定义一系列任务,供外部统一调用。Ansible核心功能。
如何使用?
- 将ansible-install-k8s-master.zip和binary_pkg.tar.gz上传到ansibleController主机的/root目录下并且解压。百度云链接,提取码:eq6x
- 进入ansible-install-k8s-master目录,找到其中的hosts文件
此文件是对应着自己规划的k8s集群节点的配置
举例,一个有三个节点的k8s集群,其中
k8s-master1--------192.168.139.142
k8s-node1----------192.168.139.144
k8s-node2----------192.168.139.145
对应的hosts内容如下:
[master]
# 如果部署单Master,只保留一个Master节点
192.168.139.142 node_name=k8s-master1
#192.168.139.143 node_name=k8s-master2
[node]
192.168.139.144 node_name=k8s-node1
192.168.139.145 node_name=k8s-node2
[etcd]
192.168.139.142 etcd_name=etcd-1
192.168.139.144 etcd_name=etcd-2
192.168.139.145 etcd_name=etcd-3
[lb]
# 如果部署单Master,该项忽略
#192.168.31.63 lb_name=lb-master
#192.168.31.71 lb_name=lb-backup
[k8s:children]
master
node
[newnode]
#192.168.31.91 node_name=k8s-node3
3.修改group_vars/all.yml文件,软件包目录和证书可信任IP
举例,一个有三个节点的k8s集群,其中
k8s-master1--------192.168.139.142
k8s-node1----------192.168.139.144
k8s-node2----------192.168.139.145
对应的group_vars/all.yml内容如下:
[root@ansibleCenter ansible-install-k8s-master]# vi group_vars/all.yml
# 安装目录
software_dir: '/root/binary_pkg'
k8s_work_dir: '/opt/kubernetes'
etcd_work_dir: '/opt/etcd'
tmp_dir: '/tmp/k8s'
# 集群网络
service_cidr: '10.0.0.0/24'
cluster_dns: '10.0.0.2' # 与roles/addons/files/coredns.yaml中IP一致
pod_cidr: '10.244.0.0/16' # 与roles/addons/files/kube-flannel.yaml中网段一致
service_nodeport_range: '30000-32767'
cluster_domain: 'cluster.local'
# 高可用,如果部署单Master,该项忽略
vip: '192.168.31.88'
nic: 'ens33'
# 自签证书可信任IP列表,为方便扩展,可添加多个预留IP
cert_hosts:
# 包含所有LB、VIP、Master IP和service_cidr的第一个IP
k8s:
- 10.0.0.1
- 192.168.139.142
- 192.168.139.144
- 192.168.139.145
# - 192.168.31.71
# - 192.168.31.72
# - 192.168.31.73
# - 192.168.31.88
# 包含所有etcd节点IP
etcd:
- 192.168.139.142
- 192.168.139.144
- 192.168.139.145
4.设置每个节点主机的root密码一致!
通过yum install ansible -y
安装ansible相关依赖,如果提示找不到ansible包,可通过配置yum源为阿里云来解决。
使用命令ansible-playbook -i hosts single-master-deploy.yml -uroot -k
即可,会提示输入root密码,输入正确密码后,等两三分钟即可。
最后出现下图即为安装成功!
四、从网上收集的一些与k8s,docker等有关的优秀博客列表
参考:
- https://www.cnblogs.com/linuxk/category/1248289.html
- https://www.cnblogs.com/you-men/category/1748786.html
- https://www.cnblogs.com/wangxu01/tag/docker-kubernetes/
- https://www.cnblogs.com/yuezhimi/category/1340864.html
- https://blog.csdn.net/wc1695040842/category_9959495.html
If you miss the train I’m on
You will know that l am gone
You can hear the whistle blow a hundred miles…
更多推荐
所有评论(0)