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
安装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
#安装Pod网络组件 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml kubectl get nodes
工作节点加入集群
#工作节点1、2执行 kubeadm join 192.168.3.210:6443 --token ijt9jz.225ukunvsugcv7js \ --discovery-token-ca-cert-hash sha256:40248f94f5cb003865b674b270e45f723bad1830731aff5f70528a6a9812a27d
验证集群
kubectl get nodes
kubectl get pods --all-namespaces
本站所有文章均可随意转载,转载时请保留原文链接及作者。