搭建k8s集群的总结

一、k8s相关了解

参考:

二、手动搭建k8s集群

2.1搭建minikube单机版k8s集群

minikube基于go语言开发,可以在单机环境下快速搭建可用的k8s集群,非常适合测试和本地开发。简而言之,minikube是只有一个节点的k8s集群实现。
参考:

在这里插入图片描述

2.2 搭建多节点的k8s集群

参考:多节点k8s集群搭建

三、使用ansible自动化搭建k8s集群

Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。

  • Inventory:Ansible管理的主机信息,包括IP地址、SSH端口、账号、密码等
  • Modules:任务均有模块完成,也可以自定义模块,例如经常用的脚本。
  • Plugins:使用插件增加Ansible核心功能,自身提供了很多插件,也可以自定义插件。例如connection插件,用于连接目标主机。
  • Playbooks:“剧本”,模块化定义一系列任务,供外部统一调用。Ansible核心功能。

如何使用?

  1. 将ansible-install-k8s-master.zip和binary_pkg.tar.gz上传到ansibleController主机的/root目录下并且解压。百度云链接,提取码:eq6x
  2. 进入ansible-install-k8s-master目录,找到其中的hosts文件解压后的ansile-install-k8s-master
    此文件是对应着自己规划的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等有关的优秀博客列表

参考:


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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值