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

后知后觉 暂无评论

使用 Kubernetes 对 Docker 容器进行快速编排成为新的微服务时代的部署风潮。

部署 Kubernetes

Kubernetes 有多种部署方式,一般不是很推荐使用 kubeadm 方式安装(主要是因为众所周知的大陆网络原因)。

需求

唯一性

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

小贴士:如果服务器使用硬盘克隆或者批量部署的虚拟机可能存在此问题,一般情况下可忽略。

网络通讯

iptables 接管流量,确保当前使用的是 br_netfilter 模块。

$ lsmod | grep br_netfilter # 查看是否已加载
$ sudo modprobe br_netfilter # 如果未加载需要手动加载(需要内核的支持)

然后修改 sysctl 配置

$ cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sudo sysctl --system

检查所需端口

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

Swap 禁用

# swapoff -a
小贴士:推荐在服务器安装时手动配置分区表,将 swap 分区删除,否则可能导致开机后自动挂载 swap 分区。

CentOS

部署 repo

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

cat <<EOF > /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 > /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 gnupg2 curl

部署 repo

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

$ sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ sudo echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

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

$ sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
$ sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

安装

$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl

配置及优化

命令行补全

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

附录

相关链接

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复
回答45+34=