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。(生产环境建议不要直接上最新版本)

以下命令需要在所有集群节点执行,建议使用批处理命令

  1. 执行以下脚本安装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,然后直接运行此文件即可。

  1. 安装完成后通过docker infodocker 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云原生实战一 高可用部署架构

Kuberntes云原生实战六 使用Rook搭建Ceph集群

Kuberntes云原生实战六 使用Rook搭建Ceph集群

云原生|K8s系列第1篇:K8s的基础概念组件架构及实战安装

云原生之Docker实战安装docker镜像分析工具Dive

云原生系列之使用prometheus监控redis集群实战