Kubernetes 1.3 从入门到进阶 安装篇(2)
发布日期:2021-06-30 20:21:27 浏览次数:2 分类:技术文章

本文共 3917 字,大约阅读时间需要 13 分钟。

Kubernetes 1.3 从入门到进阶 安装篇: kubernetes-ansible

上一篇文章我们介绍了使用minikube快速部署kubernetes1.3到单机上. 多台机器构成的集群,本次介绍kubernetes-ansible来进行安装。ansible是自动化部署一大神器,接下来就让我们来看看使用神器的效果吧。

构成说明

master和etcd共用一台机器,只有一个minion的超级mini构成,只是为演示只用。

No type IP OS
1 master 192.168.32.31 CENTOS7.2
2 etcd 192.168.32.31 CENTOS7.2
3 minion 192.168.32.32 CENTOS7.2

Step 1:安装ansible

在192.168.32.31上安装ansible

[root@host31 local]# yum -y install epel-release[root@host31 local]# yum -y install ansible

确认安装

[root@host31 local]# ansible --versionansible 2.1.0.0  config file = /etc/ansible/ansible.cfg  configured module search path = Default w/o overrides[root@host31 local]#

Step 2:设定ssh通路和ansible

分别在两台机器上生成ssh的key

[root@host31 ~]# ssh-keygen[root@host32 ~]# ssh-keygen

设定2台机器的/etc/hosts

[root@host31 ~]# grep host3 /etc/hosts192.168.32.31 host31192.168.32.32 host32[root@host31 ~]#[root@host32 ~]# grep host3 /etc/hosts192.168.32.31 host31192.168.32.32 host32[root@host32 ~]#

在2台机器上都作如下设定,保证ssh通路畅通

# ssh-copy-id -i host31# ssh-copy-id -i host32

在ansible所安装的机器上,追加机器信息到/etc/ansible/hosts中

[root@host31 ansible]# grep host3 /etc/ansible/hostshost31host32[root@host31 ansible]#

确认ansible正常动作

[root@host31 ~]# ansible localhost -m pinglocalhost | SUCCESS => {    "changed": false,    "ping": "pong"}[root@host31 ~]#

Step 3:下载contrib

contrib里面有kubernets生态中很多有用的组件,但不属于kubernetes的core的部分。首先我们使用git从上clong下来整个contrib,而用来方便安装的kubernetes-ansible,只是其中的一个部分:

[root@host31 local]# cd ..[root@host31 /]# mkdir -p /local; cd /local[root@host31 local]# git clone https://github.com/kubernetes/contrib.gitCloning into 'contrib'...remote: Counting objects: 27980, done.remote: Compressing objects: 100% (40/40), done.remote: Total 27980 (delta 13), reused 0 (delta 0), pack-reused 27940Receiving objects: 100% (27980/27980), 30.05 MiB | 173.00 KiB/s, done.Resolving deltas: 100% (13411/13411), done.[root@host31 local]#

Step 4:生成kubernetes-ansible设定文件

按照构成说明中的2台机器构成,设定inventory文件

[root@host31 ansible]# pwd/local/contrib/ansible[root@host31 ansible]# lltotal 28-rw-r--r--.  1 root root 1630 Jul 29 08:09 deploy-cluster.ymldrwxr-xr-x.  2 root root   20 Jul 29 08:09 group_vars-rw-r--r--.  1 root root  115 Jul 29 08:09 inventory.example.ha-rw-r--r--.  1 root root  156 Jul 29 08:09 inventory.example.single_masterdrwxr-xr-x.  3 root root   18 Jul 29 08:09 playbooks-rw-r--r--.  1 root root 2207 Jul 29 08:09 README.mddrwxr-xr-x. 15 root root 4096 Jul 29 08:09 roles-rwxr-xr-x.  1 root root  711 Jul 29 08:09 setup.shdrwxr-xr-x.  2 root root 4096 Jul 29 08:09 vagrant[root@host31 ansible]# cp inventory.example.ha inventory[root@host31 ansible]#

将inventory文件的内容设定为如下

[root@host31 ansible]# cat inventory[masters]host31[etcd:children]host31[nodes]host32[root@host31 ansible]#

Step 6:安装所需package

依赖关系整理的真不错,只有一个package在github的说明中虽然没有提到,但是实际是需要提前安装的

No package 机器 安装命令
1 python-netaddr 192.168.32.31 yum -y install python-netaddr

Step 7:执行安装文件

执行安装文件setup.sh

[root@host31 ansible]# pwd/local/contrib/ansible[root@host31 ansible]# ./setup.sh

Step 8:确认kubernetes

确认node

[root@host31 ansible]# kubectl get nodesNAME      STATUS    AGEhost31    Ready     1mhost32    Ready     1m[root@host31 ansible]#

确认services

[root@host31 ansible]# kubectl get servicesNAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGEkubernetes   10.254.0.1   
443/TCP 12m[root@host31 ansible]#

确认版本

[root@host31 ansible]# kubectl versionClient Version: version.Info{
Major:"1", Minor:"2", GitVersion:"v1.2.0", GitCommit:"a4463d9a1accc9c61ae90ce5d314e248f16b9f05", GitTreeState:"clean"}Server Version: version.Info{
Major:"1", Minor:"2", GitVersion:"v1.2.0", GitCommit:"a4463d9a1accc9c61ae90ce5d314e248f16b9f05", GitTreeState:"clean"}[root@host31 ansible]#

吐槽: 居然是1.2,再到github上仔细一看,四个月没有更新了。是要放弃kubernetes-ansible转用minikube的意图么,对我们来说明明非常友好可用的东西,不像minikube有问题了的话只能眼巴巴地看着它那个go语言的二进制文件,眼睁睁的看着它取个版本信息都要联一下google。对1.2和1.3之间区别不是特别在意的朋友,严重推荐此种方式进行安装,甚至生产环境或者测试环境也完全可以在此基础上进行定制和改进安装与部署。

转载地址:https://liumiaocn.blog.csdn.net/article/details/52068750 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:实例学习ansible系列(1)Helloworld
下一篇:HP-UX 使用SAM进行Printer设定

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月21日 18时22分21秒