快速部署kubernetes

TanHaX
2023-06-27 / 0 评论 / 114 阅读 / 正在检测是否收录...
  1. 关闭防火墙

    systemctl stop firewalld && systemctl disable firewalld
  2. 关闭所有节点的 SELinux ,将 SELinux 设置为 permissive 模式(相当于将其禁用)

    sudo setenforce 0
    
    sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
  1. 设置主机名

    hostnamectl set-hostname master
  2. 关闭 Swap

    swapoff -a && sysctl -w vm.swappiness=0
  • 永久关闭swap (推荐)

    sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
  1. 主机添加 hosts:

    cat >> /etc/hosts << EOF 
    10.0.0.24 master 
    10.0.0.25 node1 
    10.0.0.26 node2
    EOF
  2. 配置路由转发IPv4 并让 iptables 看到桥接流量

    cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-iptables  = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward                 = 1
    EOF
  • 应用 sysctl 参数而不重新启动

    sudo sysctl --system
  1. 使用部署工具来安装 Kubernetes

    k8s社区提供了3个部署工具,分别是kubeadmkops和 Kubespray ,这里有详细的说明

    配置Kubernetes的阿里云yum源

  • Debian / Ubuntu
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
  • CentOS / RHEL / Fedora
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
  • 这里指定版本

    #yum install -y kubelet kubeadm kubectl
    yum install -y kubelet-1.23.4 kubeadm-1.23.4 kubectl-1.23.4
    systemctl enable kubelet && systemctl start kubelet

 * 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用以下命令安装:

yum install -y --nogpgcheck kubelet-1.23.4 kubeadm-1.23.4 kubectl-1.23.4
  1. k8s-master初始化主节点

    kubeadm init \
    --apiserver-advertise-address=10.0.0.24 \
    --image-repository registry.aliyuncs.com/google_containers \
    --kubernetes-version v1.23.4 \
    --service-cidr=10.96.0.0/12 \
    --pod-network-cidr=10.244.0.0/16
  2. 注(所有节点):vi /etc/docker/daemon.json

    "exec-opts": [
     "native.cgroupdriver=systemd"
      ],
  • 重启docker

    systemctl restart docker
  • 重置 kubeadm 安装的状态

    kubeadm reset
  • 在初始化 (9)
  1. 在主节点上设置 Kubernetes 配置
    在主节点上配置kubectl工具并设置集群证书

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    • 或者,如果你是 root 用户,则可以运行:
export KUBECONFIG=/etc/kubernetes/admin.conf
  1. 安装pod网络插件
  2. 在两个工作节点上加入 Kubernetes 集群

    sudo kubeadm join 主节点IP:主节点端口 --token <hz1ri9.qca0lj1qii44l58c> --discovery-token-ca-cert-hash sha256:<hash>
  • 例如:
    sudo kubeadm join 10.0.0.24:6443 --token 37mtsv.c32oz3fgbkckoh11 --discovery-token-ca-cert-hash sha256:8da41125c132639053ca58018e57477453b51f8e344ec0a1d8709c8e432a4ada
  1. 等待一段时间,直到 Kubernetes 集群所有的节点都处于 Ready 状态。可以使用以下命令查看节点的状态:

    sudo kubectl get nodes
1

打赏

评论 (0)

取消