从零开始的 Kubernetes 学习笔记(二)

后知后觉 暂无评论

使用 Kubernetes 对容器进行编排成为微服务时代的技术风向标。

更新记录

2022-07

2020-08

部署 Kubernetes

Kubernetes 有多种部署方式,一般不是很推荐使用 kubeadm 方式安装(主要是因为众所周知的大陆网络原因)但好在相关所需的镜像一般国内都有存档,可以使用国内容器仓库进行中转使用。

部署 kubeadm

在安装 kubeadm 工具箱之前需要确认软硬件兼容性:

要求

确认节点唯一

确保 MAC 地址和设备识别码在集群内唯一

部分虚拟机可能具有相同的值,Kubernetes 使用这些值进行唯一识别,如果这些值相同可能导致服务无法正常工作。

检查所需端口

全新机器可以跳过本步骤,主要是为了防止端口冲突导致。

禁用交换分区

Kubernetes 的 kubelet 使用需要禁用 Swap 交换分区,否则可能产生无法预料的错误。

sudo swapoff -a
小贴士:推荐在服务器安装时手动配置分区表,将 swap 分区删除,否则可能导致开机后自动挂载 swap 分区,也需要记得注释掉 fstab 中的 swap 分区,防止机器重启后自动挂载。

一键删除交换分区

grep swap /etc/fstab && sudo sed -i.bak '/swap/d' /etc/fstab

安装 Container Runtime

常见的 CRI 地址

RuntimeUnix 套接字地址
containerdunix:///var/run/containerd/containerd.sock
CRI-Ounix:///var/run/crio/crio.sock
Docker Engine (using cri-dockerd)unix:///var/run/cri-dockerd.sock

不同发行版

CentOS

配置仓库

海外及中国港澳台等地区请使用(官方镜像)

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

中国大陆请使用(阿里云镜像)

cat <<EOF | sudo tee /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
EOF
安装
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
小贴士:如果使用国内源安装时出现类似报错 GPG Error ,这是因为 GPG 同步异常,请使用 yum install -y --nogpgcheck 命令安装。

Debian

安装依赖
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
配置仓库

海外及港澳台地区请使用(官方镜像)

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

中国大陆请使用(阿里云镜像)

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
安装
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

配置及优化

命令行补全

为 kubectl kubeadm 命令配置命令行补全功能

需要先创建补全目录

sudo mkdir /etc/bash_completion.d/

然后执行


附录

相关链接

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。