安装系统工具:

yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

docker : yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
kubernetes: /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

更新并安装:

yum makecache fast
yum -y install docker-ce

启动docker并设置开机启动

systemctl start docker
systemctl enable docker
systemctl status docker
docker -v
Docker version 20.10.7, build f0df350

系统配置

关闭防火墙及selinux:

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

关闭selinux

# 临时关闭
setenforce 0

#方法1 命令修改
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config

#方法2 vi 修改
vi /etc/selinux/config

关闭虚拟内存swapoff:

# 方法一
swapoff -a 

# 方法二
/etc/fstab 里面注释关于swap的设置
#
# /etc/fstab
# Created by anaconda on Sat Jun 26 03:06:33 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=bdecada9-d51e-443a-a33f-a955c77775db /boot                   xfs     defaults        0 0

# 注释掉下面这一行
#/dev/mapper/cl-swap     none

配置主机名和hosts:

hostnamectl --static set-hostname k8s-master1
hostnamectl --static set-hostname k8s-node1
hostnamectl --static set-hostname k8s-node2
hostnamectl --static set-hostname k8s-node3

开启内核namespace的支持:

grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"

安装kubectl

. 用以下命令下载最新发行版:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

说明:

如需下载某个指定的版本,请用指定版本号替换该命令的这一部分: $(curl -L -s https://dl.k8s.io/release/stable.txt)

例如,要在 Linux 中下载 v1.21.0 版本,请输入:

curl -LO https://dl.k8s.io/release/v1.21.0/bin/linux/amd64/kubectl

  1. 验证该可执行文件(可选步骤)
    下载 kubectl 校验和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"

基于校验和文件,验证 kubectl 的可执行文件:

echo "$(<kubectl.sha256) kubectl" | sha256sum --check

验证通过时,输出为:

kubectl: OK

验证失败时,sha256 将以非零值退出,并打印如下输出:

kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match

说明:

下载的 kubectl 与校验和文件版本必须相同。

  1. 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

说明:

即使你没有目标系统的 root 权限,仍然可以将 kubectl 安装到目录 ~/.local/bin 中:

mkdir -p ~/.local/bin/kubectl mv ./kubectl ~/.local/bin/kubectl # 之后将 ~/.local/bin/kubectl 添加到 $PATH

  1. 执行测试,以保障你安装的版本是最新的:
kubectl version --client