下面我将详细讲解 “CentOS 8.2 k8s 基础环境配置”的完整攻略。
环境准备
在开始之前,我们需要准备以下环境:
- CentOS 8.2 操作系统
- root 用户权限
- 网络连接
安装 Docker
- 安装 Docker CE:
# 添加 Docker CE yum 源
$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker CE,使用的是最新版本
$ sudo dnf install docker-ce
# 启动 Docker 服务
$ sudo systemctl start docker
- 配置 Docker 相关参数,将 Docker 加入开机启动项:
# 开启 IP 转发功能
$ echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
# 配置 Docker 启动参数
$ sudo mkdir /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
# 重启 Docker 服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ sudo systemctl enable docker
示例说明:
以上命令将 Docker 安装到 CentOS 系统,配置 Docker 启动参数并开启 IP 转发功能。该配置将 Docker 加入开机启动项。
安装 kubeadm、kubelet 和 kubectl
- 配置 k8s 安装依赖:
# 安装系统依赖
$ sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
# 添加 kubernetes yum 源
$ sudo tee /etc/yum.repos.d/kubernetes.repo <<-'EOF'
[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
EOF
- 安装 kubeadm、kubelet 和 kubectl:
# 安装 kubeadm、kubelet 和 kubectl
$ sudo dnf install -y kubelet kubeadm kubectl
# 启动 kubelet 服务
$ sudo systemctl start kubelet
# 将 kubelet 加入开机启动项
$ sudo systemctl enable kubelet
示例说明:
以上命令将配置 k8s 安装依赖,安装了 kubeadm、kubelet 和 kubectl。同时启动了 kubelet 服务,并将其加入开机启动项。
安装 Calico 网络插件
- 下载 Calico 配置文件:
# 下载 Calico 配置文件
$ wget https://docs.projectcalico.org/v3.16/manifests/calico.yaml
- 配置 Calico 网络插件:
# 配置 Calico 网络插件
$ kubectl apply -f calico.yaml
示例说明:
以上命令下载了 Calico 配置文件,并通过 kubectl 命令将其应用到当前 k8s 集群中。
部署 k8s 集群
- 配置 kubeadm:
# 创建 kubeadm 配置文件
$ cat <<EOF | sudo tee /etc/kubernetes/kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: stable
controlPlaneEndpoint: "your-ip-address:6443"
networking:
podSubnet: "192.168.0.0/16"
EOF
- 初始化 k8s 集群:
# 初始化 k8s 集群
$ sudo kubeadm init --config=/etc/kubernetes/kubeadm-config.yaml --upload-certs
- 配置 kubectl:
# 配置 kubectl
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 安装 CNI 插件:
# 安装 CNI 插件
$ kubectl apply -f https://docs.projectcalico.org/v3.16/manifests/calico.yaml
- 加入节点:
将其它节点加入当前 k8s 集群的步骤可通过 kubeadm token create 命令生成 token,并通过 kubeadm join 命令加入至当前 k8s 集群中。
示例说明:
以上命令完成了 k8s 集群的部署,包括 kubeadm 的配置,初始化 k8s 集群,配置 kubectl,安装 CNI 插件和加入节点等步骤。
总结
上述攻略详细介绍了 “CentOS 8.2 k8s 基础环境配置”的完整流程,包括安装 Docker、kubeadm、kubelet 和 kubectl,配置 Calico 网络插件和部署 k8s 集群等过程。这个过程可能有些繁琐,但如果你按照上述步骤完成,你就可以得到一个基础的 k8s 环境。