3.搭建K8S集群,

一,平台规划

  1.单master集群

    

  2.多master集群

    

 

 二,配置要求

  

 

三,集群部署

  1.集群部署的两种方式

    (1)kubeadm

      kubeadm是一个K8s部署工具,提供kubeadm init 和 kubeadm join,用于快速部署k8s集群

      官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubwadm/

    (2)二进制包

      从github下载发行版的二进制包,手动部署每个组件,组成k8s集群。

 

四,使用kubeadm的方式搭建集群

  1.安装三台虚拟机,安装操作系统cenos7.x

  2.对三个安装完系统后的虚拟机进行初始化操作

    #关闭防火墙

      systemctl stop firewalld    #临时

      systemctl disable firewalld  #永久

    #关闭selinux

      sed -i 's/enforing/disabled/' /etc/selinux/config   #永久

      setenforce 0  #临时

    #关闭swap

      swapoff -a  #临时

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

    #根据规划设置主机名

      hostnamectl set-hostname <hostname> 

        (三台都需要设置主机名,例:hostnamectl set-hostname k8smaster,设置完执行hostname验证)

    #在master添加hosts(设置成自己的ip及对应的主机名)

      cat >> /etc/hosts << EOF

      192.168.44.141 master

      192.168.44.142 node1

      192.168.44.143 node2

      EOF

    #将桥接的IPv4流量传递到iptables的链

      cat > /etc/sysctl.d/k8s.conf << EOF

      net.bridge.bridge-nf-call-ip6tables = 1

      net.bridge.bridge-nf-call-iptables = 1

      EOF

      sysctl --system  #生效

    #时间同步

      yum install ntpdate -y

      ntpdate time.windows.com

 

  3.所有节点安装Docker/kubeadm/kubelet

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

      $ wget https://mirrors.aliyun.com/docker-ce/liunx/centos/docker-ce.repo -o

       /etc/yum.repos.d/docker-ce.repo

      $ yum -y install docker-ce-18.06.1.ce-3.el7

      $ systemctl enable docker && systemctl start docker

      $ docker --version  【

      $ cat > /etc/docker/daemon.json << EOF

      {

        "registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"]

      }

      EOF

      $ systemctl restart docker

    3.2 添加阿里云YUM软件源

      $ cat > /etc/yum.repos.d/kubernetes.repo << EOF

      [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

    3.3 安装kubeadm,kubelet和kubectl

      $ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

      $ systemctl enable kubelet

  

  4.部署kubernetes Master

  (只在Master节点上执行)

    $ kubeadm init \

     --apiserver-advertise-address=192.168.44.146 \   #当前Master节点ip

     --image-repository registry.aliyuncs.com/google_containers \

      --kubernetes-version v1.18.0 \   #版本

     --service-cidr=10.96.0.0/12 \  #其他网络的网段

     --pod-network-cl=idr=10.244.0.0/16  #其他网络的网段

  由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。

  使用kubectl工具(上述命令执行成功后会弹出下列命令):

   mkdir -p $HOME/.kube

    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

    sudo chown $(id -g) $HOME/.kube/config

    $ kubectl- get nodes

    

 

 

   

 5.加入Kubernetes Node

   (在node节点执行)

   向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:

   (复制红框内命令在Node节点执行)

     

 

    Node节点执行成功后在Master节点执行 kubectl get nodes 查看node节点是否添加到集群中

 5.1 默认token有效期为24小时,当过期之后,该token就不可用了,这时就需要重新创建token,操作如下:

    kubeadm token create --print-join-command

 

 6.部署CNI网络插件

     wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yum

  默认镜像地址无法访问,sed命令修改为docker hub镜像仓库。

   kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yum

    (因为是国外的地址,若失败可以多执行几次也可以使用国内地址)

  测试:kubectl get pods -n kube-system

  

  

 

  (需多等待一段时间后查看)

 

  7.最终测试集群

  

 

 

 

 

 

 

 

    

 

  

    

    

  

 

 

 

 

 

 

posted @   -wei  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示