• centos环境上:k8s 简单安装教程


    本次演示安装3节点k8s环境,无需多言,直接上操作步骤:

    1、环境准备

    k8s部署前,首先需要准备好环境,除了1.4 步骤,其他步骤在所有(3个)节点上都要执行:

      1.1 关闭防火墙

    systemctl stop firewalld

    systemctl disable firewalld

      1.2 关闭selinux、关闭swap

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    setenforce 0
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    swapoff -a

      1.3 根据规划设置主机名

    hostnamectl set-hostname

    为要设置的主机名 

     1.4 在 master 节点上添加hosts

    cat >> /etc/hosts << EOF
    192.168.10.1 node1
    192.168.10.2 node0
    192.168.10.3 master
    EOF

    注意:3个服务器IP都要设置为静态IP,主要此操作只需在master节点执行

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

    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF

     1.6 手动加载所置

    sysctl --system

     1.7 时间同步

    同步微软时间服务器时间

    yum install ntpdate -y

    ntpdate time.windows.com

     2、安装 docker 环境

    安装k8s之前,得先安装docker,所有节点都要执行下面步骤:

    具体安装步骤参考下面文章:

    docker 简单在线安装教程-CSDN博客

    3、部署k8s集群

      3个节点docker都安装成功后,开始安装k8s:

     3.1 所有节点执行:添加阿里云软件源:

    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.2 所有节点安装:kubeadm、kubelet、kubectl

    本次演示安装的k8s版本为 1.22.15

    yum install -y kubelet-1.22.15 kubeadm-1.22.15 kubectl-1.22.15
    systemctl enable kubelet

     3.3 初始化master,只在master节点执行:

    kubeadm init \
      --apiserver-advertise-address=192.168.10.3 \
      --image-repository registry.aliyuncs.com/google_containers \
      --kubernetes-version v1.22.15 \
      --service-cidr=10.96.0.0/12 \
      --pod-network-cidr=10.244.0.0/16 \
      --ignore-preflight-errors=all

    注意:apiserver-advertise-address 除填写master节点IP地址;

    初始化master之后,会输出一个join命令,先复制出来,node节点加入master会使用,如下图:

     3.4 拷贝k8s认证文件,只在master节点执行:

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

      3.5 添加工作节点

    在所有工作节点执行在kubeadm init输出的kubeadm join命令,如下图:

     3.6  在master节点查询node状态,如下图: 

    当token过期或未保存时,可直接使用命令重新生成:

    kubeadm token create --print-join-command 

     3.7 部署 CNI 容器网络插件:calico 

    Calico 是一个纯三层的数据中心网络方案,是目前 Kubernetes 主流的网络方案。

    只在 Master 节点执行:

    wget https://docs.projectcalico.org/v3.24/manifests/calico.yaml --no-check-certificate
    kubectl apply -f calico.yaml
    kubectl get pods -n kube-system

    或者:
    kubectl apply -f https://docs.projectcalico.org/v3.24/manifests/calico.yaml
    kubectl get pods -n kube-system

    注意:calico 版本是否支持当前k8s版本,calico v3.24版本支持k8s 1.22~1.25.

    calico部署过程如下截图:

     3.8  查看k8s所有pod是否都正常运行,在master节点执行:

    kubectl get pods --all-namespaces

  • 相关阅读:
    The directory ‘*‘ or its parent directory is not owned by the current user
    .NET 6学习笔记(3)——在Windows Service中托管ASP.NET Core并指定端口
    Net6Configuration & Options 源码分析 Part3 IOptionsMonitor 是如何接收到配置文件变更并同步数据源的
    【大数据实训】基于当当网图书信息的数据分析与可视化(八)
    蓝牙耳机哪个音质好?1000左右音质最好的耳机
    SpringCloud自定义负载均衡策略--LoadBalancer
    计算机组成原理知识总结(一)计算机概论
    测试 Apache Flink SQL 代码
    【项目实训】后端逻辑完善
    GAN生成漫画脸
  • 原文地址:https://blog.csdn.net/yanghaitao5000/article/details/139710837