通过Rancher安装Kubernetes的文章前面已经写过,但那时是需要科学上网才能安装成功(下载gcr.io/google_containers/XXXXX的镜像),本次实战依旧是用Rancher来安装Kubernetes,但是会做一些设置,使得不用翻墙也能成功安装K8S环境,另外,在CentOS7环境下,有些设置如果处理不当也会导致安装失败或者加入节点失败,所以也会在本文中交代清楚;
整个《CentOS7环境安装Kubernetes四部曲》由以下四篇文章组成:
本次涉及到的重要软件的版本信息如下:
整个环境由两台CentOS7的机器组成,如下:
hostname | IP地址 | 作用 | 内存大小 |
---|---|---|---|
master | 192.168.119.129 | 主控制节点 | 2G |
node1 | 192.168.119.130 | 业务节点 | 4G |
接下来的操作是通用的,在master和node1两台机器上都要一模一样的做一遍; 建议以root身份来执行以下操作,或者通过sudo su -命令获取root权限;
检查文件/etc/hosts,确保有hostname和本机IP的配置:
如果是测试环境就关闭防火墙,如果是生产环境需要做详细的设置,关闭防火墙的方法如下:
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
做完上述步骤后,如果有改动,最好重启机器,以免有设置未能生效;
执行命令swapoff -a关闭Swap交换分区;
什么版本的Docker才能适配Rancher和Kubernetes?rancher的官网给出了一份列表,请参考:http://rancher.com/docs/rancher/v1.6/zh/hosts/#docker,本文我们使用推荐的1.2.3版本,以下是安装步骤:
mkdir -p ~/_src \
&& cd ~/_src \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.3-1.el7.centos.x86_64.rpm \
&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm \
&& yum localinstall -y docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm docker-engine-1.12.3-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm
2. 设置开机启动: ```shell systemctl enable docker ``` 3. 启动docker: ```shell systemctl start docker ``` 4. 执行docker version命令,看到如下信息: ```shell Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64
Server: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: OS/Arch: linux/amd64
### 设置Docker镜像加速
此时如果用docker pull命令下载镜像,本地会连接hub.docker.com网站去下载,耗时较长,因此我们可以设置docker镜像加速,使得本地连接去国内镜像仓库下载,镜像加速的设置有很多种,本章以阿里云的设置为例,步骤如下:
1. 创建目录:
```shell
mkdir -p /etc/docker
2. 设置镜像仓库地址: ```shell tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] } EOF ``` 3. 重新加载配置: ```shell systemctl daemon-reload ``` 4. 重启docker服务: ```shell systemctl restart docker ```
至此,机器的标准化准备工作已经完成了,经过了上述操作的机器可以直接拿来安装master,或者作为node加入到kubernetes环境;
下一章《CentOS7环境安装Kubernetes四部曲之二:配置模板和安装master》,我们一起来实战安装rancher、kubernetes、节点加入k8s等操作;