当前位置:首页 > 系统 > CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)

系统1年前 (2020-08-12)

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)

k8s集群的安装方式分为基于二进制包或源码编译安装所需组件的安装方式,但该方式较为繁琐。另外一种是基于开源工具的简化安装方式,目前流行的有若干种,应用度最高的是kubeadm,这里实验3节点的Kubernetes集群


系统配置

#修改计算机名
#节点1
hostnamectl --static set-hostname k8s-master && su
#节点2
hostnamectl --static set-hostname k8s-work1 && su
#节点3
hostnamectl --static set-hostname k8s-work2 && su

#关闭防火墙和selinux
setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

#禁用swap
swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab

#更换k8s国内源
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=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

#更换系统源
yum install wget ntpdate -y \
&& wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo \
&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

#更换docker国内源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
&& yum makecache

#将桥接的流量传递到iptables链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF

#校准时间
ntpdate ntp.aliyun.com
hwclock --systohc

#配置host文件
cat <<EOF > /etc/hosts
192.168.3.210 k8s-master
192.168.3.220 k8s-work1
192.168.3.230 k8s-work2
EOF

#验证swap是否关闭
sysctl --system
sysctl -p /etc/sysctl.d/k8s.conf
sysctl -p 
free -g

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)


安装docker

yum install yum-utils device-mapper-persistent-data lvm2 -y
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-lt -y
grub2-set-default 'CentOS Linux (4.4.236-1.el7.elrepo.x86_64) 7 (Core)' && reboot
#安装kubernetes推荐的容器运行库版本
#https://kubernetes.io/docs/setup/production-environment/container-runtimes/
yum install docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io-1.2.13 -y

#添加网络模块
cat > /etc/modules-load.d/docker.conf <<EOF
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter

lsmod | grep overlay
lsmod | grep br_netfilter  

#修改docker Cgroup Driver为systemd
sed -i "s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g" /usr/lib/systemd/system/docker.service

#使用国内镜像加速docker拉取
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
systemctl restart docker && systemctl enable docker && systemctl status docker

#测试
docker run --rm hello-world
docker rmi hello-world


安装kubeadm

yum install kubelet kubeadm kubectl -y --disableexcludes=kubernetes
systemctl enable kubelet

#配置自动补全
yum install bash-completion -y
kubectl completion bash >/etc/bash_completion.d/kubectl
kubeadm completion bash > /etc/bash_completion.d/kubeadm


配置k8s环境

#master节点初始化
#如果初始化失败执行kubeadm reset && yum remove kubeadm && yum install kubeadm --disableexcludes=kubernetes
kubeadm init --image-repository=registry.aliyuncs.com/google_containers
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)


#安装Pod网络组件
curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubectl apply -f calico.yaml
kubectl get nodes

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)


工作节点加入集群

#工作节点1、2执行
kubeadm join 192.168.3.210:6443 --token ijt9jz.225ukunvsugcv7js \
    --discovery-token-ca-cert-hash sha256:40248f94f5cb003865b674b270e45f723bad1830731aff5f70528a6a9812a27d

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)


验证集群

kubectl get nodes

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)


kubectl get pods --all-namespaces

CentOS7使用kubeadm搭建K8s容器集群平台(一主两从)

本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/os/449.html

相关文章

修复升级EVE-NG后无法正常打开问题

修复升级EVE-NG后无法正常打开问题

升级流程Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.9.40-eve-ng-ukms+ x86_64) * Documentation:  ...

CentOS8 cockpit管理

CentOS8 cockpit管理

Cockpit是基于Web的服务器管理工具,系统管理员可以通过该工具监控和管理服务器,还可用于管理容器、虚拟机中的网络和存储,以及检查系统和应用的日志开启systemctl enable&n...

利用LVM特性对EVE-NG硬盘分区扩容

利用LVM特性对EVE-NG硬盘分区扩容

下载的EVE-NG镜像中,存放模拟器镜像的分区太小了,上传几个cisco和juniper的模拟器就快满了,所以需要使用lvm特性对ubuntu server的硬盘分区进行扩容,首先先将eve-ng虚拟...

CentOS8迁移至CentOS Stream

CentOS8迁移至CentOS Stream

Red Hat和CentOS最近宣布CentOS将以CentOS Stream的形式转换为滚动发布发行版。CentOS7将支持到2024年,CentOS8支持将在2021年底结束。现在CentOS8用...

CentOS7安装SmartDNS

CentOS7安装SmartDNS

SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度。 同时支...

CentOS7 安装neofetch

CentOS7 安装neofetch

dnf方式yum install dnf -y  yum install dnf-plugins-core -y ...