近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧。搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿。kubernetes1.5版本以及之前,安装还是相对比较方便的,官方就有通过yum源在CentOS7安装kubernetes。但是在kubernetes1.6之后,安装就比较繁琐了,需要证书各种认证,对于刚接触kubernetes的人来说很不友好,按照官方文档在本地安装“集群”的的话,我觉得你肯定是跑不起来的,除非你突破了GFW的限制,还要懂得怎么样不断修改参数。
令我惊讶的事,漫天都在吹捧kubernetes的强大,居然一篇可以帮助安装的文档都找不到(你可以说我菜,但是我找的官方和非官方文档不下十几篇,无一成功)。
我自己搞了一个星期,把kubernetes1.7.3版本(网络组件选用Calico),终于按照官方文档+填坑的方式部署成功,写此文希望能帮助更多的人部署kubernetes1.7成功。
安装 安装准备操作系统:CentOS7.3
[root@centos7-base-ok]# cat /etc/RedHat-release
CentOS Linux release 7.3.1611 (Core)
安装机器:k8s-1为master节点,k8s-2、k8s-3为slave节点
[root@centos7-base-ok]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
k8s-1 192.168.80.28
k8s-2 192.168.80.35
k8s-3 192.168.80.14
注意:现在docker已经更新到CE版本,但是kubernetes官方文档说在1.12上测试通过,最近版本的兼容性未测试,为了避免后面出现大坑,我们还是乖乖安装1.12版本的docker。
1.新建docker.repo文件,将文件移动到/etc/yum.repos.d/目录下
[root@centos7-base-ok]# cat /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
2.运行yum命令,找到需要安装的docker版本
10:21 [root@centos7-base-ok]# yum list|grep docker | sort -r
Python2-avocado-plugins-runner-docker.noarch
python-dockerpty.noarch 0.4.1-6.el7 epel
python-dockerfile-parse.noarch 0.0.5-1.el7 epel
python-docker-scripts.noarch 0.4.4-1.el7 epel
python-docker-pycreds.noarch 1.10.6-1.el7 extras
python-docker-py.noarch 1.10.6-1.el7 extras
kdocker.x86_64 4.9-1.el7 epel
golang-github-fsouza-go-dockerclient-devel.x86_64
docker.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-v1.10-migrator.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-unit-test.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-registry.x86_64 0.9.1-7.el7 extras
docker-registry.noarch 0.6.8-8.el7 extras
docker-python.x86_64 1.4.0-115.el7 extras
docker-novolume-plugin.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-lvm-plugin.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-logrotate.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-latest.x86_64 1.13.1-13.gitb303bf6.el7.centos
docker-latest-v1.10-migrator.x86_64 1.13.1-13.gitb303bf6.el7.centos
docker-latest-logrotate.x86_64 1.13.1-13.gitb303bf6.el7.centos
docker-forward-journald.x86_64 1.10.3-44.el7.centos extras
docker-engine.x86_64 17.05.0.ce-1.el7.centos dockerrepo
docker-engine.x86_64 1.12.6-1.el7.centos @dockerrepo
docker-engine-selinux.noarch 17.05.0.ce-1.el7.centos @dockerrepo
docker-engine-debuginfo.x86_64 17.05.0.ce-1.el7.centos dockerrepo
docker-distribution.x86_64 2.6.1-1.el7 extras
docker-devel.x86_64 1.3.2-4.el7.centos extras
docker-compose.noarch 1.9.0-5.el7 epel
docker-common.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-client.x86_64 2:1.12.6-32.git88a4867.el7.centos
docker-client-latest.x86_64 1.13.1-13.gitb303bf6.el7.centos
cockpit-docker.x86_64 141-3.el7.centos extras
3.找到对应版本后,执行yum install -y 包名+版本号,安装1.12版本的docker-engine
[root@centos7-base-ok]# yum install -y docker-engine.x86_64-1.12.6-1.el7.centos
4.执行docker version命令,验证docker安装版本,执行docker run命令,验证docker是否安装成功