美文网首页
在阿里云Centos环境部署k8s集群

在阿里云Centos环境部署k8s集群

作者: 利鹏同学 | 来源:发表于2021-09-20 19:12 被阅读0次

    参考文章:
    How to Install a Kubernetes Cluster on CentOS 7
    Centos7.6部署k8s v1.16.4高可用集群(主备模式)
    Docker中的Cgroup Driver:Cgroupfs 与 Systemd
    Kubernetes 实战 Centos 7 kubeadm 搭建 Kubernetes v1.14.0 多节点集群

    详细代码见 aliyun-k8s-cluster-deploy
    主流程还是按照上面文章来,下面记录一些需要特殊注意的地方

    使用的阿里云环境:

    一个master节点:k8s-master
    两个worker节点:k8s-node-01、k8s-node-02
    付费模式为按量付费,测试完成就释放掉了,成本较低;
    使用的是CentOS 8.4 64位系统(其他系统部署会有一些差异)


    阿里云配置

    Step 1: Prepare Hostname, Firewall and SELinux

    #!/bin/bash
    setenforce 0
    sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    reboot
    
    [root@k8s-master ~]# firewall-cmd --permanent --add-port=6443/tcp
    FirewallD is not running
    

    执行上面命令打开防火墙端口时会告知FirewallD is not running,此时需要打开FirewallD

    # FirewallD is not running
    # start firewalld
    systemctl start firewalld
    
    firewall-cmd --permanent --add-port=6443/tcp
    firewall-cmd --permanent --add-port=2379-2380/tcp
    firewall-cmd --permanent --add-port=10250/tcp
    firewall-cmd --permanent --add-port=10251/tcp
    firewall-cmd --permanent --add-port=10252/tcp
    firewall-cmd --permanent --add-port=10255/tcp
    
    firewall-cmd --reload
    modprobe br_netfilter
    echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
    

    Step 2: Setup the Kubernetes Repo

    改用aliyun的镜像,解决google地址镜像访问不了的问题

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    

    Step 3: Install Kubeadm and Docker

    参考文章中安装docker的方法在当前环境中行不通,原因是没有对应的docker源,需要配置国内源


    docker镜像

    使用国内源后


    使用国内源后

    参考了下面文章

    Linux下Docker的安装及使用
    #安装kubeadm
    cp kubernetes.repo /etc/yum.repos.d/kubernetes.repo
    # yum install kubeadm docker -y
    yum install kubeadm -y
    
    #安装docker
    #2.1 安装yum-utils
    yum install -y yum-utils
    #2.2 配置国内源
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    #2.3 解决problem with installed package podman-1.6.4-10.的报错
    yum erase podman buildah
    #2.4 安装Docker
    yum install -y docker-ce docker-ce-cli  containerd.io --nobest
    
    systemctl enable kubelet
    systemctl start kubelet
    systemctl enable docker
    systemctl start docker
    
    # Fix
    cp daemon.json /etc/docker/
    
    systemctl daemon-reload
    systemctl restart docker
    
    • 这一步后,如果看kubectl的运行状态会发现其没在运行,原因是一些配置文件缺失了;配置文件在Step 4会生成,生成后kubectl就会运行起来了;


      kubelet状态
    • docker在运行中,Cgroup Driver为cgroupfs,需要调整为systemd,即下面代码的作用

      Cgroup Driver
      Cgroup Driver调整为systemd
      Docker中的Cgroup Driver:Cgroupfs 与 Systemd
    # Fix
    cp daemon.json /etc/docker/
    
    systemctl daemon-reload
    systemctl restart docker
    

    调整后


    调整后

    Step 4: Initialize Kubernetes Master and Setup Default User

    swapoff -a
    
    #kubeadm init
    #需要指定镜像源
    kubeadm init --image-repository registry.aliyuncs.com/google_containers
    

    再执行下面操作

    #!/bin/bash
    mkdir -p $HOME/.kube
    cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    chown $(id -u):$(id -g) $HOME/.kube/config
    
    kubectl get nodes
    
    #Step 5: Setup Your Pod Network
    export kubever=$(kubectl version | base64 | tr -d '\n')
    kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
    
    kubectl get nodes
    

    查看节点状态


    运行中

    Worker节点启动后


    Worker节点启动后

    部署k8s-master的Shell脚本
    部署k8s-node-01和k8s-node-02的Shell脚本

    安装可视化工具- dashboard

    相关文章

      网友评论

          本文标题:在阿里云Centos环境部署k8s集群

          本文链接:https://www.haomeiwen.com/subject/ybhvgltx.html