k8s安装

作者: mafa1993 | 来源:发表于2022-11-16 21:04 被阅读0次

    更改网络配置

    vi /etc/netplan/00-installer-config.yaml
    
    network:
      ethernets:
        enp0s3:
          dhcp4: true
        enp0s8:
          dhcp4: no
          addresses:
            - 192.168.107.128/24
      version: 2
    
    netplan apply
    

    Set no password for sudo

    %sudo ALL=(ALL:ALL) NOPASSWD:ALL
    

    SSH to your virtual machine. and follow below instructure.

    If you are not using Macbook, prepare a Linux OS and follow below instructure.

    Install kubernetes by kubeadm

    https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

    Installing runtime

    https://docs.docker.com/engine/install/ubuntu/

    Update the apt package index and install packages to allow apt to use a repository over HTTPS:

    $ sudo apt-get update
    
    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
    

    Add Docker’s official GPG key:

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    Add Docker repository

    $ sudo add-apt-repository \
       "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    

    Update the apt package index, and install the latest version of Docker Engine and containerd, or go to the next step to install a specific version:

    $ sudo apt-get update
    $ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    

    Install kubernetes

    Installing kubeadm, kubelet and kubectl

    $ cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
     deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
     EOF
    
    $ curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add
    
    $ sudo apt-get update
    $ sudo apt-get install -y kubelet=1.19.15-00 kubeadm=1.19.15-00 kubectl=1.19.15-00
    $ sudo apt-mark hold kubelet kubeadm kubectl
    

    kubeadm init

    $ sudo kubeadm init \
     --image-repository registry.aliyuncs.com/google_containers \
     --apiserver-advertise-address=192.168.34.2
    

    Copy kubeconfig

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

    Untaint master

    pod一般不会调度到master节点上,untaint以后,master节点可以是的pod调度到master节点

    $ kubectl taint nodes --all node-role.kubernetes.io/master-
    

    Join other node

    $ kubeadm join 192.168.2.116:6443 --token oig5z4.hofxyadrsfwhzxa9 \
        --discovery-token-ca-cert-hash sha256:98172da8c89c09a176eb9e543e7decbc3a0dedf2c1a5ed16d83d16cb04e22513
    

    Install cilium

    $ helm install cilium cilium/cilium --version 1.9.1 \
        --namespace kube-system \
        --set kubeProxyReplacement=strict \
        --set k8sServiceHost=192.168.34.2 \
        --set k8sServicePort=6443
    

    Install calico cni plugin

    https://docs.projectcalico.org/getting-started/kubernetes/quickstart

    $ kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
    $ kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
    
    $ for i in `kubectl api-resources | grep true | awk '{print \$1}'`; do echo $i;kubectl get $i -n rook-ceph; done
    

    k8s安装遇到的问题

    1. 使用1.25+的时候,会报错[kubelet-check] Initial timeout of 40s passed. 原因是1.24+的时候,k8s不在依赖docker,而是使用containerd 作为运行时,应为docker是个中间层,最终还是调用containerd 1.25 k8s安装
    2. 安装旧版k8s,ubuntu需要先加k8s源,然后apt cache查看k8s版本,进行旧版安装

    相关文章

      网友评论

          本文标题:k8s安装

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