美文网首页k8s
离线部署 k8s 1.19.4 附离线部署包(包含基础镜像及rp

离线部署 k8s 1.19.4 附离线部署包(包含基础镜像及rp

作者: Andy_Yao | 来源:发表于2021-05-10 14:54 被阅读0次

    版本信息:

    Docker:

    REPOSITORY TAG SIZE
    Docker v19.03.13 100MB

    Kubernetes 镜像

    Image Version:

    REPOSITORY TAG SIZE
    k8s.gcr.io/kube-proxy v1.19.4 118MB
    k8s.gcr.io/kube-controller-manager v1.19.4 111MB
    k8s.gcr.io/kube-apiserver v1.19.4 119MB
    k8s.gcr.io/kube-scheduler v1.19.4 45.7MB
    quay.io/coreos/flannel v0.13.0 57.2MB
    k8s.gcr.io/etcd 3.4.13-0 253MB
    k8s.gcr.io/coredns 1.7.0 45.2MB
    k8s.gcr.io/pause 3.2 683kB

    安装步骤

    安装 docker

    复制 docker-packages 到离线机,安装 docker 并启动

    1. 安装 yum utilities :

    yum install -y --cacheonly --disablerepo=* k8s-installer/docker-packages/yum/*.rpm
    

    2. 安装 Docker file drivers :

    yum install -y --cacheonly --disablerepo=* k8s-installer/docker-packages/dm/*.rpm
    yum install -y --cacheonly --disablerepo=* k8s-installer/docker-packages/lvm2/*.rpm 
    

    3. 安装 container-selinux :

    yum install -y --cacheonly --disablerepo=* k8s-installer/docker-packages/se/*.rpm
    

    4.安装 docker :

    yum install -y --cacheonly --disablerepo=* k8s-installer/docker-packages/docker-ce/*.rpm
    

    5. 启动 docker :

    systemctl enable docker && systemctl start docker
    

    安装 Kubernetes

    1. 安装 Kubernetes utilities

    yum install -y --cacheonly --disablerepo=* k8s-installer/k8s-packages/kube/*.rpm
    

    2. 检查所需镜像

    kubeadm config images list
    

    3. 导入 k8s 所需镜像

    sh k8s-installer/k8s-images/load.sh
    --load.sh 
      |- docker load < kube-apiserver:v1.19.4.tar
         docker load < kube-controller-manager:v1.19.4.tar
         docker load < kube-scheduler:v1.19.4.tar
         docker load < kube-proxy:v1.19.4.tar
         docker load < pause:v3.2.tar
         docker load < etcd:v3.4.13-0.tar
         docker load < coredns:v1.7.0.tar
         docker load < flannel:v0.13.0.tar
    

    4. 关闭防火墙

    systemctl stop firewalld && systemctl disable firewalld
    

    5. 永久关闭 swap

    swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 
    

    6. 确保 SELinux 是 permissive 模式

    setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    

    7. 分别配置 hosts 文件

    IP ROLE
    xxxxxx master
    xxxxxx node

    8. 内核调整,将桥接的IPv4流量传递到iptables的链

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

    建议执行下面的:

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

    9. 开起 kubelet

    systemctl enable kubelet # 一定不能 start
    

    10. 在 master 节点上创建集群,初始化集群

    kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.19.4
    

    安装完成后,注意输出指令,如需执行命令请执行

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

    11. 配置 kubectl 管理集群

    grep -q "KUBECONFIG" ~/.bashrc || {
        echo 'export KUBECONFIG=/etc/kubernetes/admin.conf' >> ~/.bashrc
        . ~/.bashrc
    }
    

    12. 检查集群是否创建成功

    kubectl get nodes
    

    13. 配置初始化 flannel 网络插件

    kubectl apply -f k8s-installer/k8s-network/kube-flannel.yml
    

    14. 修改 kube-apiserver.yaml 配置文件打开 TokenRequestAPI

    添加以下配置:

    - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
    - --service-account-key-file=/etc/kubernetes/pki/sa.pub
    - --service-account-issuer=api
    - --service-account-api-audiences=api,vault,factors
    

    15. 查看集群状态是否正常,若不正常请重启集群

    kubectl get nodes
    kubectl get pods -ALL
    

    15. 查看加入节点的 token

    kubeadm token create --print-join-command
    

    16. 从节点执行机加入集群

    kubeadm join --token <token> <primary-ip>:<primary-port> --discovery-token-ca-cert-hash sha256:<hash>
    

    17. 从主节点查看集群情况

    kubectl get nodes
    

    成功!

    相关文章

      网友评论

        本文标题:离线部署 k8s 1.19.4 附离线部署包(包含基础镜像及rp

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