跳转至

k8s集群安装教程

master、node节点安装

  1. 切换到root用户

    sudo su -
    
  2. 配置host

    cat << EOF >> /etc/hosts
    192.169.1.210 k8s-master
    192.169.1.211 k8s-node1
    192.169.1.212 k8s-node2
    EOF
    
  3. 修改主机名 每台主机都要修改

    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-node1
    hostnamectl set-hostname k8s-node2
    
  4. 关闭swap分区 每台主机都要关闭

    # 临时关闭
    swapoff -a
    # 永久关闭(老版本)
    sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
    # 永久关闭(新版本)
    只需要编辑 /etc/fstab 文件,不要注释掉 swap 那一行
    而是在其后面默认的挂载选项 defaults 后面加上 noauto 变成 defaults,noauto。
    
    cat /etc/fstab
    # 查看是否注释
    
  5. 安装docker

  6. 修改docker Cgroup驱动

    cat <<EOF> /etc/docker/daemon.json
    {
    "exec-opts":["native.cgroupdriver=systemd"]
    }
    EOF
    
  7. 安装k8s

    apt-get install -y kubelet=1.23.8-00 kubeadm=1.23.8-00 kubectl=1.23.8-00
    
  8. 设置kubectl命令补全

    apt-get install bash-completion
    
    echo 'source /usr/share/bash-completion/bash_completion' >>~/.bashrc
    
    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  9. 初始化k8s-master节点

    –apiserver-advertise-address 192.168.2.248 填写你自己k8s-master的IP地址
    
    kubeadm init \
    --apiserver-advertise-address 192.168.2.248 \
    --image-repository registry.aliyuncs.com/google_containers \
    --pod-network-cidr=10.244.0.0/16 \
    --service-cidr=10.1.0.0/16
    
  10. 拷贝 kubectl 使用的连接 k8s 认证文件到默认路径

    exit
    
    mkdir -p $HOME/.kube
    
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
    echo 'export KUBECONFIG=$HOME/.kube/config' >>~/.bashrc
    
    • 初始化成功之后记录以下信息,添加node节点时使用。
    kubeadm join 192.169.1.210:6443 --token s2zrot.578bgfdqcr44aivw \
    --discovery-token-ca-cert-hash sha256:a4b764099ac50a152d8d9a7640c16380297bae8c7ffafd6e3ca76144bfde9f6c
    
  11. 安装Pod网络插件 calico

    kubectl apply -f https://docs.projectcalico.org/v3.18/manifests/calico.yaml
    
  12. 添加node节点

    • 以下操作在Node节点上执行
    sudo su -
    
    kubeadm join 192.169.1.210:6443 --token s2zrot.578bgfdqcr44aivw \
    --discovery-token-ca-cert-hash sha256:a4b764099ac50a152d8d9a7640c16380297bae8c7ffafd6e3ca76144bfde9f6c
    

k8s dashboard

kubeadm reset

master节点


💬 评论