准备工作1:

安装docker,省去不表。

准备工作2:

我们需要禁用swap,swapoff -a
检查uuid,确保集群内唯一。sudo cat /sys/class/dmi/id/product_uuid
sudo netstat -ntlp |grep -E '6443|23[79,80]|1025[0,1,2]' 查看这些端口是否被占用,如果被占用,请手动释放

安装kubectl:

1. curl -sSL https://dl.k8s.io/release/v1.20.3/bin/linux/amd64/kubeadm > /usr/bin/kubeadm 
2. chmod a+rx /usr/bin/kubeadm
3. kubeadm version

下载k8s:

1.  wget -q https://dl.k8s.io/v1.11.3/kubernetes-server-linux-amd64.tar.gz
2.  ls kubernetes/server/bin/ | grep -E 'kubeadm|kubelet|kubectl'
3.  mv kubernetes/server/bin/kube{adm,ctl,let} /usr/bin/

配置kubectl:

1.  cat <<'EOF' > /etc/systemd/system/kubelet.service
    [Unit]
    Description=kubelet: The Kubernetes Agent
    Documentation=http://kubernetes.io/docs/

    [Service]
    ExecStart=/usr/bin/kubelet
    Restart=always
    StartLimitInterval=0
    RestartSec=10

    [Install]
    WantedBy=multi-user.target
    EOF
2. mkdir -p /etc/systemd/system/kubelet.service.d

3. cat <<'EOF' > /etc/systemd/system/kubelet.service.d/kubeadm.conf
    [Service]
    Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
    Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
    EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
    EnvironmentFile=-/etc/default/kubelet
    ExecStart=
    ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
    EOF
    
4.systemctl enable kubelet

安装前置依赖:

 wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.11.1/crictl-v1.11.1-linux-amd64.tar.gz
 tar zxvf crictl-v1.11.1-linux-amd64.tar.gz
 mv crictl /usr/bin/
      
 yum -y install socat conntrack-tools

准备好安装网络插件的配置文件:

1.  wget https://docs.projectcalico.org/manifests/calico.yaml
2.  vi calico.yaml
3.  修改 CALICO_IPV4POOL_CIDR 的 value 为 10.244.0.0/16

初始化集群:

1.  kubeadm init --pod-network-cidr=10.244.0.0/16
2.  mkdir -p $HOME/.kube \
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config \
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.  kubectl apply -f calico.yaml

如无意外,至此大功告成


halweg
33 声望0 粉丝