k8s系列-09-一键部署k8s集群之kubespary

老板们,点个关注吧。图片

图片

第一:为什么中断两天没有更新:

    因为前两天突然发现kubespary已经更新到了2.18的版本了,所以想弄到最新版看看什么情况,觉得还是应该写最新版的部署方式,研究时间较长,就断了。  

第二:本文能学到什么:

    通过本文可以让你从只有几台裸机的情况,获得一个成熟的k8s集群。  

图片

声明

前两篇文章的可参考性非常强,并不是说前两篇的内容就没用了,尽管前两篇的内容是2.15版本的,但是本文也是在前两篇的基础上进行的扩展。理论知识看前面的文章,本篇不说废话,只有实操。

环境

hostname

IP
role
cpumem
node1
192.168.112.130
master
>=2
>=2
node2
192.168.112.131master
>=2
>=2
node3192.168.112.132worker
>=2
>=2

主机名修改

node1:

[root@localhost ~]# vim /etc/hostname
node1
[root@localhost ~]# hostname node1
[root@localhost ~]# bash
[root@node1 ~]#

node2:

[root@localhost ~]# vim /etc/hostname
node2
[root@localhost ~]# hostname node2
[root@localhost ~]# bash
[root@node2 ~]# 

node3:

[root@localhost ~]# vim /etc/hostname
node3
[root@localhost ~]# hostname node3
[root@localhost ~]# bash
[root@node3 ~]# 

关闭安全策略

PS:每台服务器上都要进行操作。

[root@node1 ~]# systemctl stop firewalld.service
[root@node1 ~]# systemctl disable firewalld.service
[root@node1 ~]# vim /etc/selinux/config 
SELINUX=disabled # 修改成这样
[root@node1 ~]# getenforce 0
[root@node1 ~]# reboot # 每台服务器重启一遍

设置iptables、dns

PS:每台服务器上都要进行操作。

[root@node1 ~]# iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT
[root@node1 ~]# systemctl stop dnsmasq.service
[root@node1 ~]# systemctl disable dnsmasq.service

k8s参数配置

PS:每台服务器上都要进行操作。

[root@node1 ~]# vim /etc/sysctl.d/kubernetes.conf 
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
vm.overcommit_memory = 1
[root@node1 ~]# sysctl -p /etc/sysctl.d/kubernetes.conf

移除依赖

PS:每台服务器上都要进行操作。

[root@node1 ~]# yum remove -y docker*
[root@node1 ~]# rm -f /etc/docker/daemon.json

配置免密

略过,不熟悉的同学看上一篇文章的该步骤,仅仅只看这一个“配置免密”步骤即可。

往期推荐

[

k8s系列-08-kubespray的安装配置

](http://mp.weixin.qq.com/s?__biz=Mzg3NjY2NDQ5MA==&mid=2247484151&idx=1&sn=1a1e1e438a6971e7fe50fecbe97d59d8&chksm=cf2f8132f8580824a5cef04b9f52cb56f4c373ebd61a7ef0eac9d695c89469a2a0c2e34b51e1&scene=21#wechat_redirect)

下载软件包

这里需要下载两个软件包,一个是2.18版本的kubespary,另一个是前文提到的libseccomp包,kubespary软件包从公众号“运维家”后台回复“kubespary2.18”,即可获取下载地址

libseccomp软件包从公众号“运维家”后台回复“libseccomp”,如何安装请查看往期文章如下的“前置安装”那一小节,有具体信息。

往期推荐

[

k8s系列-06-containerd的基本操作

](http://mp.weixin.qq.com/s?__biz=Mzg3NjY2NDQ5MA==&mid=2247484134&idx=1&sn=9ac0ff9d29df82f4e29b9adeb4919d1e&chksm=cf2f8123f8580835a4e16618b11559d7de74896269c16fe7f717e02226acf5dfffb1ae5f84c9&scene=21#wechat_redirect)

安装准备

上传从上一步骤中获取到的2.18版本的kubespary安装包,至node1节点上。

[root@node-1 ~]# yum install -y epel-release python36 python36-pip git
[root@node-1 ~]# tar xf kubespray-2.18.0.tar.gz 
[root@node-1 ~]# cd kubespray-2.18.0/
[root@node1 kubespray-2.18.0]# pip3.6 install setuptools_rust
[root@node1 kubespray-2.18.0]# pip3.6 install --upgrade pip
[root@node1 kubespray-2.18.0]# cat requirements.txt 
ansible==3.4.0
ansible-base==2.10.15
cryptography==2.8
jinja2==2.11.3
netaddr==0.7.19
pbr==5.4.4
jmespath==0.9.5
ruamel.yaml==0.16.10
ruamel.yaml.clib==0.2.4
MarkupSafe==1.1.1
[root@node1 kubespray-2.18.0]# pip3.6 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
[root@node1 kubespray-2.18.0]# ln -s /usr/bin/python3.6 /usr/local/python3/bin/python3

生成配置

PS:只需要在node1节点操作。

[root@node1 kubespray-2.18.0]# cp -rpf inventory/sample inventory/mycluster
[root@node1 kubespray-2.18.0]# declare -a IPS=(192.168.112.130 192.168.112.131 192.168.112.132)
[root@node1 kubespray-2.18.0]# CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

修改代理地址

PS:只需要在node1节点操作。

[root@node1 kubespray-2.18.0]# vim inventory/mycluster/group_vars/all/all.yml 
# 原本是注释的,需要取消注释,并配置自己的代理地址
http_proxy: "http://192.168.112.119:19000"
https_proxy: "http://192.168.112.119:19000"
[root@node1 kubespray-2.18.0]#

集群调整

PS:只需要在node1节点操作。

有时候k8s默认提供的IP地址池,和我们现有环境冲突,这个时候就需要我们手动进行更改了:

[root@node1 kubespray-2.18.0]# vim inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml 
kube_service_addresses: 10.200.0.0/16
kube_pods_subnet: 10.233.0.0/16
[root@node1 kubespray-2.18.0]#

添加界面和ingress

剩余内容请转至VX公众号 “运维家” ,回复 “117” 查看。

图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值