Kuberntes云原生实战04 安装前置条件及Docker环境
Posted 飘渺Jam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kuberntes云原生实战04 安装前置条件及Docker环境相关的知识,希望对你有一定的参考价值。
大家好,我是飘渺。
今天咱们继续更新Kubernetes云原生实战系列,本节文章主要是给集群安装一些前置环境已经安装容器运行时环境Docker。
Kubernetes 已经成为事实上容器编排的标准,Docker已经没有跟Kubernetes叫板的资本了,所以Docker一定会去主动适配Kubernetes。
这个系列并不会花时间去讲Docker,个人觉得Docker相对而言还是比较简单的,可以参考我之前写的几篇文章即可掌握基础用法。
节点要求
后期使用Kubekey安装Kubernetes集群,节点需要安装满足以下两个条件
- 节点必须能够通过
SSH
连接。 - 所有节点时间同步
- 节点上可以使用
sudo
/curl
/openssl
/tar
命令。
在实践过程中可以通过以下命令安装所需组件
yum install -y socat conntrack ebtables ipset openssh-clients
节点句柄数优化
在kubernetes所有节点都建议修改系统文件以进行句柄数优化
vim /etc/security/limits.conf
在文件后添加以下脚本
# 末尾添加如下内容
* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited
安装运行时环境
在第一章技术选型中说过我们是通过Kubekey安装Kubernetes集群,使用Kubekey安装时会默认安装最新版本的docker环境。
这里我们全部手动安装,选择指定版本20.10.9。(生产环境建议不要直接上最新版本)
以下命令需要在所有集群节点执行,建议使用批处理命令
- 执行以下脚本安装Docker
#!/bin/bash
export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
# 在 master 节点和 worker 节点都要执行
# 安装 docker
# 参考文档如下
# https://docs.docker.com/install/linux/docker-ce/centos/
# https://docs.docker.com/install/linux/linux-postinstall/
# 卸载旧版本
yum remove -y docker*
# 设置 yum repository
yum install -y yum-utils \\
device-mapper-persistent-data \\
lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装并启动 docker
# yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
# 查看yum源支持的docker版本
yum list docker-ce --showduplicates | sort -r
#输出如下信息,注意是否有 20.10.9版本
#docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
#docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
#docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
#docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
#docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
# 安装docker
yum install -y docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io
mkdir /etc/docker || true
cat > /etc/docker/daemon.json <<EOF
"registry-mirrors": ["$REGISTRY_MIRROR"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts":
"max-size": "100m"
,
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
EOF
mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
建议将上面的执行命令生成一个文件,如docker.sh
,并对其赋予执行权限chmod +x docker.sh
,然后直接运行此文件即可。
- 安装完成后通过
docker info
,docker version
确认安装结果
[root@k8s-master ~]# docker version
Client: Docker Engine - Community
Version: 20.10.9
API version: 1.41
Go version: go1.16.8
Git commit: c2ea9bc
Built: Mon Oct 4 16:08:14 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.9
API version: 1.41 (minimum version 1.12)
Go version: go1.16.8
Git commit: 79ea9d3
Built: Mon Oct 4 16:06:37 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.11
GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
通过上面操作我们已经成功在master节点和worker节点安装好了docker环境,并且也已经准备好了一个高可用的负载均衡器,至此我们的前置条件全部准备完毕,下节课将正式安装Kubernetes高可用环境。
以上是关于Kuberntes云原生实战04 安装前置条件及Docker环境的主要内容,如果未能解决你的问题,请参考以下文章
Kuberntes云原生实战六 使用Rook搭建Ceph集群
Kuberntes云原生实战六 使用Rook搭建Ceph集群
云原生|K8s系列第1篇:K8s的基础概念组件架构及实战安装