k8s集群搭建

  • 设置一下每一台的主机名
    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-node1
    hostnamectl set-hostname k8s-node2
    hostnamectl set-hostname k8s-node3
    hostnamectl set-hostname k8s-node4
    hostnamectl set-hostname k8s-node5

  • 每一台机器尚安装必要的工具

    yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
  • 关闭防火墙&&禁用它

    systemctl stop firwalld && systemctl disable firewalld
  • 安装iptables && 启动 && 启用 && 清除规则 && 保存

    yum -y install iptables-services
    systemctl start iptables
    systemctl enable iptables
    iptables -F
    service iptables save
  • 关闭 SELINX && 不使用交换空间

    swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\s/g' /etc/fstab
    setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
  • 给每台机器尚指定 hosts 配置

echo "192.168.0.52 k8s-master
192.168.0.54 k8s-node1
192.168.0.55 k8s-node2
192.168.0.56 k8s-node3
192.168.0.48 k8s-node4
192.168.0.60 k8s-node5" >> /etc/hosts
  • 启用内核模块

    cat > /etc/sysconfig/modules/ipvs.modules <<EOF
    #!/bin/bash
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF
    systemctl restart docker
  • 安装kubeadm,kubectl,kubelet

    yum install -y kubeadm.x86_64 kubectl.x86_64 kubelet.x86_64
  • 以上命令每一台机器都要执行,以下命令在master节点上操作

  • 初始化主节点
    因为后续要使用flannel网络插件,所以--pod-network-cidr=10.244.0.0/16,指定节点网段为10.244.0.0/16
    另外,很多文章说需要翻墙,其实没必要,使用国内镜像就可以了。k8s.gcr.io国内无法访问,使用阿里云的镜像registry.cn-hangzhou.aliyuncs.com/google_containers,当然auzre,中科大的都可以

    kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.52 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
  • 配置相关目录

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 安装网络插件
    网络可以的,直接使用命令kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml,安装网络插件
    网络不可以的,先wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    这都不行的看一下我上一篇文章,有个代理。只能代理github.com这个主域,所以就是wget https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
    下载完成后,执行

    sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' kube-flannel.yml
    kubectl apply -f kube-flannel.yml

    github release 下载代理

  • 等待拉取镜像成功,知道master节点变成ready状态

    kubectl get nodes
  • 生成从节点加入配置

    kubeadm token create --print-join-command
  • 从节点加入集群

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。