kubeadm安装Kubernetes
集群信息1. 节点规划部署k8s集群的节点按照用途可以划分为如下2类角色:master:集群的master节点,集群的初始化节点,基础配置不低于2C4Gslave:集群的slave节点,可以多台,基础配置不低于2C4G本次部署采用三台阿里云ECS配置 4h16G 4h8G 2h4G本例为了演示slave节点的添加,会部署一台master+2台slave,节点规划如下:主机名节点ip角色部署组
集群信息
1. 节点规划
部署k8s集群的节点按照用途可以划分为如下2类角色:
- master:集群的master节点,集群的初始化节点,基础配置不低于2C4G
- slave:集群的slave节点,可以多台,基础配置不低于2C4G
本次部署采用三台阿里云ECS
配置 4h16G 4h8G 2h4G
本例为了演示slave节点的添加,会部署一台master+2台slave,节点规划如下:
主机名 | 节点ip | 角色 | 部署组件 |
k8s-master | 172.16.98.228 | master | etcd, kube-apiserver, kube-controller-manager, kubectl, kubeadm, kubelet, kube-proxy, flannel |
k8s-slave1 | 172.16.98.224 | slave | kubectl, kubelet, kube-proxy, flannel |
k8s-slave2 | 172.16.88.3 | slave | kubectl, kubelet, kube-proxy, flannel |
2. 组件版本
| 版本 | 说明 |
CentOS | 7.8.2003 | |
Kernel | Linux 3.10.0-1127.10.1.el7.x86_64 | |
etcd | 3.4.13-0 | 使用容器方式部署,默认数据挂载到本地路径 |
coredns | 1.7.0 | |
kubeadm | v1.19.8 | |
kubectl | v1.19.8 | |
kubelet | v1.19.8 | |
kube-proxy | v1.19.8 | |
flannel | v0.11.0 |
安装前准备工作
1. 设置hosts解析
操作节点:所有节点(k8s-master,k8s-slave)均需执行
- 修改hostnamehostname必须只能包含小写字母、数字、","、"-",且开头结尾必须是小写字母或数字
# 在master节点 $ hostnamectl set-hostname k8s-master #设置master节点的hostname # 在slave-1节点 $ hostnamectl set-hostname k8s-slave1 #设置slave1节点的hostname # 在slave-2节点 $ hostnamectl set-hostname k8s-slave2 #设置slave2节点的hostname
- 添加hosts解析
cat >>/etc/hosts<<EOF 172.21.51.143 k8s-master 172.21.51.67 k8s-slave1 172.21.51.68 k8s-slave2 EOF
2. 调整系统配置
操作节点: 所有的master和slave节点(k8s-master,k8s-slave)需要执行
- 设置安全组开放端口
如果节点间无安全组限制(内网机器间可以任意访问),可以忽略,否则,至少保证如下端口可通:k8s-master节点:TCP:6443,2379,2380,60080,60081UDP协议端口全部打开k8s-slave节点:UDP协议端口全部打开
- 设置iptables
iptables -P FORWARD ACCEPT
- 关闭swap
swapoff -a # 防止开机自动挂载 swap 分区 sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- 关闭selinux和防火墙
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config setenforce 0 systemctl disable firewalld && systemctl stop firewalld
- 修改内核参数
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward=1 vm.max_map_count=262144 EOF modprobe br_netfilter sysctl -p /etc/sysctl.d/k8s.conf
- 设置yum源
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo $ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ cat <<EOF > c [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF $ yum clean all && yum makecache
3. 安装docker
操作节点: 所有节点
## 查看所有的可用版本 $ yum list docker-ce --showduplicates | sort -r ##安装旧版本 yum install docker-ce-cli-18.09.9-3.el7 docker-ce-18.09.9-3.el7 ## 安装源里最新版本 $ yum install docker-ce-20.10.6 -y ## 配置docker加速 $ mkdir -p /etc/docker vi /etc/docker/daemon.json { "insecure-registries": [ "172.21.51.143:5000" ], "registry-mirrors" : [ "https://8xpk5wnt.mirror.aliyuncs.com" ] } ## 启动docker $ systemctl enable docker && systemctl start docker
部署kubernetes
更多推荐
所有评论(0)