天天看点

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

​​https://github.com/zq2599/blog_demos​​

内容:所有原创文章分类汇总及配套源码,涉及java、docker、kubernetes、devops等;

kubespray是开源的kubernetes部署工具,整合了ansible,可以方便的部署高可用集群环境,官网地址:​​https://github.com/kubernetes-sigs/kubespray,本文是用kubespray-2.14.2版本部署kuberneteskubernetes-1.18.10版本的实战;​​

本次实战采用官方推荐的在线安装,因此会去谷歌镜像仓库下载镜像,需要您的网络可以访问谷歌服务;

因为作者太穷,本次实战筹集到共计两台机器,它们的主机名、ip地址和作用描述如下:

<col>

主机名

ip地址

作用

操作系统

ansible

192.168.50.134

ansible主机

centos7

node1

192.168.50.27

k8s服务器

ubuntu-20.04.1

可见kubernetes是被部署在ubuntu电脑上;

ubuntu电脑要做以下设置:

修改/etc/hostname,设置好主机名

修改/etc/hosts,将自己的主机名和ip地址添加进去

关闭防火墙

再次查看应该是关闭状态

关闭selinux,如果提示安装selinux-utils,表示selinux没有安装,就不用关系了

ipv4网络设置

立即禁用交换分区

我的电脑上,禁用前的内存情况

执行了swapoff -a后再看,可见全部为0了

以上禁用交换分区的方法,虽然立即生效了,但是重启电脑后依旧恢复了交换分区的使用,要彻底禁用,请打开文件/etc/fstab,在下图红框这一行最前面添加#

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

ssh登录ansible主机;

生成ssh公私钥,输入命令ssh-keygen,然后连续四次回车:

输入命令ssh-copy-id [email protected],将ansible的ssh分发给ubuntu主机,会要求输入yes和ubuntu主机的root账号的密码,完成输入后,以后ansible就可以免密码ssh登录ubuntu主机了:

安装ansible应用:

安装pip:

通过pip安装jinja2:

安装python36:

创建工作目录,进入工作目录:

下载kubespray,我这里下载的是v2.14.2版本:

解压:

进入解压后的目录:

安装kubespray所需的应用(注意是pip3):

复制一份demo配置信息到目录inventory/mycluster:

进去看一下,可见mycluster目录下复制了很多文件:

设置集群信息(当前目录仍旧是kubespray-2.14.2):

配置ansible:

此时kubespray的脚本根据输入的ip信息做好了集群规划,具体信息可见inventory/mycluster/hosts.yml,如下所示,您也可以自行修改此文件:

执行以下命令即可开始安装,在线安装比较耗时请耐心等待:

遇到网络问题失败退出时很常见的事情,此时将上述命令重复执行即可,ansible对于已经执行过的命令会跳过的;

安装完成时控制台输出类似如下的信息(太多了,省略了一些):

至此,kubernetes集群环境部署完成,接下来简单验证一下环境是否可用;

ssh登录ubuntu机器;

查看节点、service、pod:

可见一些必须的pod和服务都已经启动了,接下来试试dashboard能否正常访问;

dashboard可以查看kubernetes系统的整体情况,为了访问dashboard页面,需要增加rbac:

执行以下命令,创建文件admin-user.yaml:

执行以下命令,创建文件admin-user-role.yaml:

创建serviceaccount和clusterrolebinding:

将kubernetes-dashboard这个服务的类型从clusterip改为nodeport,这样我们就能从浏览器访问dashboard了:

再看服务,已经成功改为nodeport :

获取token看,用于登录dashboard页面:

下图红框中就是token的内容:

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

9. 现在通过浏览器访问dashboard页面了,地址是:​​https://192.168.50.27:30443​​ ,其中192.168.50.27是ubuntu机器的ip地址;

10. 由于不是https协议,因此浏览器可能弹出安全提示,如下图,选择继续前往:

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

11. 此时页面会让您选择登录方式,选择令牌并输入前面得到的token,即可登录:

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

登录成功后可以见到系统信息,如下图:

kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

至此,kubespray-2.14.2安装kubernetes-1.18.10完成,希望本文能给您一些参考。

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游java世界...