目录汇总
CentOS下Kubernetes集群架设(一)主机环境预设
https://blog.51cto.com/huanghai/2455344
CentOS上安装Kubernetes集群(二)安装Docker
https://blog.51cto.com/huanghai/2455356
采用docker作为容器运行(目前业界主流与共识)
1. 必要的一些系统工具
# yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加docker源
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
可以采用国内的镜像加速服务,参照kubernetes的官方文档,这里使用阿里的镜像在CentOS上的安装作为说明(作此笔记的时候尝试过华为、腾讯和电子科大的kubernetes好像版本没有阿里的新,就暂时先用阿里的来做实验了)。
3. 更新并安装 Docker-CE
在线环境安装
# yum makecache fast
# yum -y install docker-ce
此处根据默认是docker源文件的配置安装的是最新稳定版,但很有可能不能通过最新的kubernetes的认证。因此,我们采用下面的方式来选择安装版本,特别是再生产环境中。
1) 查找仓库中的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: branch, fastestmirror, langpacks
...
dockdr-ce.x86_64 18.09.9.ce-1.el7.centos docker-ce-stable
...
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages
2) 安装指定版本的Docker-CE
VERSION 例如上面的 18.09.9.ce.1-1.el7.centos
# yum -y install docker-ce-18.09.9 docker-ce-cli-18.09.9
离线环境安装
如果是离线安装可以使用Everthing的哪个ISO进行依赖库的安装,但安装的docker版本比较老,不过问题也不大。当然也可以先在能够联网的主机上将需要的rpm打包下载,然后拷贝到离线环境中进行安装,关键过程如下:
1) 使用yum命令下载离线包
# yum install docker-ce-18.09.9 docker-ce-cli-19.09.9 --downloadonly --downloaddir=/home/<your_account>/
2) 在离线环境中安装(按照如下顺序进行安装)
安装基础的依赖包
# rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm
# rpm -ivh libcgroup-0.41-20.el7.x86_64.rpm
# rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm
# rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm
# rpm -ivh audit-libs-python-2.8.4-4.el7.x86_64.rpm
# rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm
# rpm -ivh python-IPy-0.75-6.el7.noarch.rpm
# rpm -ivh policycoreutils-python-2.5-29.el7.x86_64.rpm
安装docker-ce的软件包
# rpm -ivh container-selinux-2.99-1.el7_6.noarch.rpm
# rpm -ivh containerd.io-1.2.6-3.3.el7.x86_64.rpm
# rpm -ivh docker-ce-cli-18.09.7-3.el7.x86_64.rpm
# rpm -ivh docker-ce-18.09.7-3.el7.x86_64.rpm
说明:
1.上述安装的软件包版本可能不一样,根据安装时的具体实际情况来,不必台纠结。
2.在挂载Eerything的ISO作为软件源的情况下,可以直接使用yum命令对拷贝到本地的container-selinux、containerd.io、docker-ce-cli、docker-ce的软件包,安装上述顺序进行安装。
ARM64架构下的安装
目前非x86_64的平台也多了起来,如华为的鲲鹏服务器,而且某些地方也有用武之地,这里以ARM64架构为例(之后的非x86_64架构也是)进行说明。
ARM64裸机
如果有一台ARM64的裸机,那么就直接安装对应版本的CentOS执行上面的命令即可。
ARM64模拟器
没有ARM64的裸机,可以使用模拟器来代替,反正主要是下载包。再次感谢Linux的好处:),本人现在的主机就是安装的Fedora的发行版,如果要模拟ARM64,只需安装相应的架构包可以,如下:
sudo dnf install qemu-system-aarch74
该命令可以自行解决包依赖问题,然后在使用Virtual Machine Manager这个程序创建虚拟机的时候,高级选项中就会多出aarch74,即ARM64的架构,选择并点击下一步,之后执行后续的安装步骤根新建amd64架构的就一样了。除此外,还可以使用qemu-system-XXX来安装模拟其它架构的虚拟机,有点激动,呵呵呵。
4. Docker其它设置
创建目录/etc/docker
# mkdir /etc/docker
创建daemon.json
# cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [ "overlay2.override_kernel_check=true"],
"bip":"172.31.0.1/16",
"insecure-registry":["registries.your.domain"]
}
EOF
其中
- “bip”定义docker0(用于容器和物理网络连接的网桥)的网关地址,不能与物理局域网地址冲突!
- “insecure-registry"定义了本地私有仓库地址
创建服务目录(官方文档,还不知道干什么用)
# mkdir -p /etc/systemd/system/docker.service.d
修改服务器启动文件
修改docker服务文件(/usr/lib/systemd/system/docker.service),docker的iptables的FORWARD默认策略为DROP,可能会影响集群通信,需要修改原有的docker.service文件,在"ExecStart=/usr/bin/docker"之后新增一行:
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
开启Docker服务
# systemctl daemon-reload
# systemctl start docker
# systemctl enable docker