kubernetes集群搭建(kubernetes v1.20.0)
1 . 准备基本环境
1.1 一台或多台安装了以下系统的物理机或者虚拟机
- Ubuntu 16.04+
- Debian 9+
- CentOS 7
- Red Hat Enterprise Linux (RHEL) 7
- Fedora 25+
- HypriotOS v1.0.1+
- Flatcar Container Linux (tested with 2512.3.0)
1.2 一台或多台安装了以下系统的物理机或者虚拟机
- 每台机器至少分配2G内存
- 每台机器至少分配2 CPU
1.3 一台或多台安装了以下系统的物理机或者虚拟机
- 集群中所有计算机可以相互访问(可以使用公用或专用网络)
- 每个节点的唯一主机名,MAC地址和product_uuid
1.4 禁用swap分区
在centos下
1 . vim /etc/fstab
# /dev/mapper/centos-swap swap swap defaults 0 0
2 . 重启系统,测试
reboot
free -h
3 . swap一行应该全部是0
[root@node2 ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 408M 397M 8.8M 1.0G 1.2G
Swap: 0B 0B 0B
[root@node2 ~]#
1.5 让iptables可以查看桥接流量
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
1.6 修改主机名称
vim /etc/hostname
重启机器生效
2 . 准备部署工具
2.1 使用一键安装脚本安装最新版docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2.2 安装kubeadm 、kubelet、 kubectl
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
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
exclude=kubelet kubeadm kubectl
EOF
# Set SELinux in permissive mode (effectively disabling it)
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
3 . 开始安装
3.1 初始化master节点
sudo kubeadm init --pod-network-cidr=172.171.0.0/16
输出:
[root@master ~]# sudo kubeadm init --pod-network-cidr=172.171.0.0/16
[init] Using Kubernetes version: v1.20.0
[preflig