0
点赞
收藏
分享

微信扫一扫

k8s多master搭建(kubeadm方式)

肉肉七七 2022-02-21 阅读 106

配置要求
1、centos7
2、物理机配置:8G内存 + 16G虚拟内存,虚拟机配置要求:2G内存 1核cpu 硬盘20G,桥接网络
3、四台虚拟机 192.168.66.100(master1),192.168.66.103(master2),192.168.66.101(node1),192.168.66.102(node2)

一、 环境配置

1、关闭禁用防火墙

systemctl stop firewalld

systemctl disable firewalld

2、关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config

3、关闭swap

sed -ri 's/.*swap.*/#&/' /etc/fstab

4、设置各主机名方便区分

hostnamectl set-hostname k8s-master1
hostnamectl set-hostname k8s-master2
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2

5、各节点配置 /etc/hosts域名

192.168.66.100 k8s-master
192.168.66.101 k8s-node1
192.168.66.102 k8s-node2
192.168.66.103 k8s-master2

6、各节点桥接网络配置

// 编辑/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.swappiness = 0

// 加载br_netfilter模块
modprobe br_netfilter

// 查看是否加载
lsmod | grep br_netfilter

// 生效
sysctl --system  

7、同步时间

yum install ntpdate -y
ntpdate time.windows.com

二、 kubernets安装

8、开启ipvs
yum -y install ipset ipvsadm

9、各节点添加 /etc/sysconfig/modules/ipvs.modules配置

#!/bin/bash
modprobe – ip_vs
modprobe – ip_vs_rr
modprobe – ip_vs_wrr
modprobe – ip_vs_sh
modprobe – nf_conntrack_ipv4

10、授权运行ipvs

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

11、检查是否加载

lsmod | grep -e ipvs -e nf_conntrack_ipv4

12、安装docker (参考阿里镜像站 https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.79621b11DxTb0N)

k8s默认CRI(容器运行时)为Docker,因此需要先安装Docker

// step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
// Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
// Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
// Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
//  配置docker运行参数文件: /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],	
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
// Step 4: 开启Docker服务
sudo service docker start

13、各节点安装指定版本kubernets
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

14、修改kubelet配置参数文件: /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="–cgroup-driver=systemd"

15、加入启动项 systemctl enable kubelet

16、在master节点启动

kubeadm init \
  --apiserver-advertise-address=192.168.66.100 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \ 	// 必须与我们安装的版本一致
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16

在这里插入图片描述

17、master配置配置

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

18、获取k8s节点信息

kubectl get nodes

19、添加node节点,把上面启动后的join信息复制,并在各个节点执行

kubeadm join 192.168.66.100:6443 --token 4016im.eg4e10yamcbxjm59 \
    --discovery-token-ca-cert-hash sha256:ce2111ce594e5189255144a72268250e5eedda87470cc3a1f69f8c973927699e

在这里插入图片描述
20、CNI网络插件(flannel)配置
方式一(推荐)百度网盘:下载完放在/etc/kubernetes目录下
https://pan.baidu.com/s/19-7XxQJjBW-PPuHZMm2UIA?pwd=bwqf
kubectl apply -f /etc/kubernetes/kube-flannel.yml

方式二:很可能会失败
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

//查看安装进度
kubectl get pods -n kube-system
在这里插入图片描述
21、在master节点查看状态

kubectl get nodes // 节点状态

kubectl get cs // 集群状态

结束

参考:
1、从零搭建k8s集群-许大仙
2、

举报

相关推荐

0 条评论