Last updated
Last updated
本文将介绍如何在Ubuntu server 16.04版本上安装kubeadm,并利用kubeadm快速的在Ubuntu server 版本 16.04上构建一个kubernetes的基础的测试集群,用来做学习和测试用途,当前(2018-04-14)最新的版本是1.10.1。参考文档包括kubernetes官方网站的以及这两个文档。
生产用途的环境,需要考虑各个组件的高可用,建议参考Kubernetes的官方的相关的安装文档。
本次安装建议至少4台服务器或者虚拟机,每台服务器4G内存,2个CPU核心以上,基本架构为1台master节点,3台slave节点。整个安装过程将在Ubuntu服务器上安装完kubeadm,以及安装kubernetes的基本集群,包括canal网络,另后台存储可参考本书的最佳实践中的存储管理内容。 本次安装一共4个节点,节点信息如下:
默认方式安装Ubuntu Server 版本 16.04
配置主机名映射,每个节点
在所有节点上安装kubeadm
查看apt安装源如下配置,使用阿里云的系统和kubernetes的源。
安装docker,可以使用系统源的的docker.io软件包,版本1.13.1,我的系统里是已经安装好最新的版本了。
更新源,可以不理会gpg的报错信息。
强制安装kubeadm,kubectl,kubelet软件包。
kubeadm安装完以后,就可以使用它来快速安装部署Kubernetes集群了。
在做好了准备工作之后,下面介绍如何使用 kubeadm 安装 Kubernetes 集群,我们将首先安装 master 节点,然后将 slave 节点一个个加入到集群中去。
因为使用要使用canal,因此需要在初始化时加上网络配置参数,设置kubernetes的子网为10.244.0.0/16,注意此处不要修改为其他地址,因为这个值与后续的canal的yaml值要一致,如果修改,请一并修改。
这个下载镜像的过程涉及翻墙,因为会从gcr的站点下载容器镜像。。。(如果大家翻墙不方便的话,可以用我在上文准备工作中提到的导出的镜像)。
如果有能够连接gcr站点的网络,那么整个安装过程非常简单。
执行如下命令来配置kubectl。
这样master的节点就配置好了,并且可以使用kubectl来进行各种操作了,根据上面的提示接着往下做,将slave节点加入到集群。
在slave节点执行如下的命令,将slave节点加入集群,正常的返回信息如下:
等待节点加入完毕。加入中状态。
在master节点查看信息如下状态为节点加入完毕。
kubedns组件需要在网络插件完成安装以后会自动安装完成。
查看canal的安装状态。
可以看到canal和kube-dns都已经运行正常,一个基本功能正常的测试环境就部署完毕了。
此时查看集群的节点状态,版本为最新的版本v1.10.1。
让master也运行pod(默认master不运行pod),这样在测试环境做是可以的,不建议在生产环境如此操作。
后续如果想要集群其他功能启用,请参考后续文章。
如果连接gcr网站不方便,无法下载镜像,会导致安装过程卡住,可以下载我导出的镜像包,,解压缩以后是多个个tar包,使用docker load< xxxx.tar
导入各个文件即可)。
从,如下网址下载2个文件并且安装,其中一个是配置canal的RBAC权限,一个是部署canal的DaemonSet。