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

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

系统3年前 (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

相关文章

fedora23升级24

fedora23升级24

准备跨版本升级fedora23到24,先在su下安装跨版本升级插件dnf install dnf-plugin-system-upgrade然后输入需要升级的系统版本dnf&nbs...

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

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

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

解决SecureCRT连接linux无配色

解决SecureCRT连接linux无配色

SecureCRT默认ssh连接linux是无配色的,看起来很难受左侧选中需要调整的会话名称->右键->Properties ->Session Options -> Term...

CentOS7安装cacti

CentOS7安装cacti

网上有一种叫cactiez的集成版本,rrd组件一直有问题,版本也太老,于是就想着重新搭建一个环境试试配置环境关闭Selinux vi /etc/selinux/config 将SELI...

CentOS7 搭建LNMP

CentOS7 搭建LNMP

使用CentOS 1708,其实就是RHEL 7.4,使用YUM搭建LNMP环境(Linux、Nginx、MariaDB、PHP),全部使用新版组件,比如Nginx 1.12.2、MariaDB 10...

CentOS7 Samba配置

CentOS7 Samba配置

在RAID的基础上搭建samba服务提供文件共享参数介绍[global] workgroup = 工作组名称 server string = 服务...