ວິທີການຕິດຕັ້ງ Cluster Kubernetes ໃນ CentOS 8


ຂັ້ນຕອນການຕິດຕັ້ງ Clern Kubernetes Cluster ໃນ CentOS 8 ແມ່ນເກືອບຄ້າຍຄືກັບ CentOS 7 (ເຊິ່ງທ່ານສາມາດໄປຜ່ານບ່ອນນີ້ໄດ້), ແຕ່ຂັ້ນຕອນນີ້ມີການປ່ຽນແປງເລັກນ້ອຍ. ການປ່ຽນແປງເຫຼົ່ານີ້, ສ່ວນຫຼາຍແມ່ນກ່ຽວກັບການຕິດຕັ້ງ Docker.

ເລີ່ມຕົ້ນຈາກ CentOS 8 (ແລະໂດຍການຂະຫຍາຍ RHEL 8), ປະຈຸບັນ docker ໄດ້ຖືກປ່ຽນແທນໂດຍ podman ແລະ buildah ເຊິ່ງເປັນເຄື່ອງມືຈາກ Redhat. ຕາມຄວາມເປັນຈິງ, ດຽວນີ້ແພກເກດ docker ໄດ້ຖືກຖອດອອກຈາກບ່ອນເກັບມ້ຽນຊຸດແພັກເກດ.

ດ້ວຍການເຄື່ອນໄຫວດັ່ງກ່າວ, ທີມ Redhat ມີຈຸດປະສົງເພື່ອເຮັດໃຫ້ຂັ້ນຕອນການສ້າງແລະ ນຳ ໃຊ້ພາຊະນະງ່າຍຂື້ນໂດຍບໍ່ ຈຳ ເປັນຕ້ອງມີການອະນຸຍາດພິເສດ, ໃນຂະນະດຽວກັນຮັກສາຄວາມເຂົ້າກັນໄດ້ກັບຮູບພາບ docker ແລະປະຕິບັດງານໂດຍບໍ່ ຈຳ ເປັນໃຊ້ daemon. Podman ສັນຍາວ່າຈະສະ ເໜີ ຄວາມຍືດຍຸ່ນຫຼາຍຂື້ນໃນເວລາແລ່ນຢູ່ໃນສະພາບແວດລ້ອມ Kubernetes, ແຕ່ວ່າຄະນະ ກຳ ມະການຍັງຄົງຢູ່.

ສຳ ລັບບົດຂຽນນີ້, ພວກເຮົາຈະແລ່ນຜ່ານຂັ້ນຕອນການຕິດຕັ້ງ Kubernetes ໃນເວທີ CentOS 8, ແລ່ນໃນ Docker-CE (Community Edition). ໃນບົດຂຽນຕໍ່ໄປ, ພວກເຮົາຍັງຈະແລ່ນຜ່ານການຕິດຕັ້ງທີ່ຄ້າຍຄືກັນ, ໂດຍໃຊ້ podman ສຳ ລັບພາຊະນະບັນຈຸຂອງພວກເຮົາ.

<

  • ສາມເຊີບເວີທີ່ໃຊ້ CentOS 8 - 1 Master Node ແລະ 2 Nodes ຂອງ Worker.
  • ຂໍແນະ ນຳ ວ່າຂໍ້ຂອງທ່ານຄວນຈະມີຢ່າງ ໜ້ອຍ 2 CPU ດ້ວຍ RAM 2GB ຫຼືຫຼາຍກວ່ານັ້ນຕໍ່ເຄື່ອງ. ນີ້ບໍ່ແມ່ນຂໍ້ ກຳ ນົດທີ່ເຄັ່ງຄັດແຕ່ສ່ວນໃຫຍ່ແມ່ນຖືກຂັບເຄື່ອນໂດຍຄວາມຕ້ອງການຂອງແອັບພລິເຄຊັນທີ່ທ່ານຕັ້ງໃຈຈະແລ່ນ.
  • ການເຊື່ອມຕໍ່ອິນເຕີເນັດໃນທຸກໆເຄືອຂ່າຍຂອງທ່ານ. ພວກເຮົາຈະເອົາຊຸດ Kubernetes ແລະ docker ຈາກບ່ອນເກັບມ້ຽນ. ເທົ່າທຽມກັນ, ທ່ານຈະຕ້ອງຮັບປະກັນວ່າຜູ້ຈັດການຊຸດ DNF ຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນແລະສາມາດເກັບເອົາບັນດາແພັກເກດຈາກໄລຍະໄກໄດ້.
  • ທຸກໆຂໍ້ ກຳ ນົດຂອງທ່ານຄວນຈະສາມາດເຊື່ອມຕໍ່ເຊິ່ງກັນແລະກັນ, ບໍ່ວ່າຈະຢູ່ໃນເຄືອຂ່າຍສ່ວນຕົວຫຼືເຄືອຂ່າຍສາທາລະນະ, ກໍລະນີໃດກໍ່ໄດ້.
  • ທ່ານຍັງຈະຕ້ອງການເຂົ້າເຖິງບັນຊີດ້ວຍສິດທິ sudo ຫຼືຮາກ. ໃນບົດແນະ ນຳ ນີ້, ຂ້ອຍຈະໃຊ້ບັນຊີຮາກຂອງຂ້ອຍ.
  • nodes ສ່ວນໃຫຍ່ແມ່ນມາພ້ອມກັບທີ່ຢູ່ MAC ທີ່ເປັນເອກະລັກ, ເຖິງຢ່າງໃດກໍ່ຕາມ, ໃນບາງກໍລະນີທີ່ເປັນເອກະລັກ, ບາງເຄື່ອງ Virtual ອາດມີທີ່ຢູ່ MAC ທີ່ຄ້າຍຄືກັນ. ດັ່ງນັ້ນຈຶ່ງແນະ ນຳ ໃຫ້ທ່ານຢືນຢັນວ່າ Product_UUID ແລະທີ່ຢູ່ MAC ບໍ່ຄືກັນກັບຂໍ້ໃດ ໜຶ່ງ.

    Kubernetes ໃຊ້ຄ່າເຫຼົ່ານີ້ເພື່ອລະບຸຂໍ້ທີ່ເປັນເອກະລັກໃນກຸ່ມ. ຖ້າຄ່າເຫຼົ່ານີ້ບໍ່ແຕກຕ່າງກັນໃນແຕ່ລະ node, ຂະບວນການຕິດຕັ້ງອາດຈະລົ້ມເຫລວ.

    ເພື່ອກວດເບິ່ງທີ່ຢູ່ MAC ຂອງອິນເຕີເຟດເຄືອຂ່າຍແລະປຽບທຽບມັນ.

    # ip link
    

    ເພື່ອກວດສອບ product_uuid ແລະປຽບທຽບ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # cat /sys/class/dmi/id/product_uuid 
    

    ການຕິດຕັ້ງຂອງພວກເຮົາຖືກອອກແບບໃຫ້ມີ Master-Node ຄວບຄຸມ N Worker Nodes. ໃນຕອນທ້າຍຂອງການຕິດຕັ້ງນີ້, ສະຖາປັດຕະຍະ ກຳ ທີ່ມີເຫດຜົນຂອງພວກເຮົາຈະມີລັກສະນະເປັນແບບນີ້.

    Master Node - ເຄື່ອງຈັກນີ້ໂດຍທົ່ວໄປເຮັດ ໜ້າ ທີ່ເປັນຍົນຄວບຄຸມແລະແລ່ນຖານຂໍ້ມູນກຸ່ມແລະ server API (ເຊິ່ງ kubectl CLI ສື່ສານກັບ).

    ກຸ່ມ Kubernetes 3-node ຂອງພວກເຮົາຈະມີລັກສະນະດັ່ງນີ້:

    ການຕິດຕັ້ງກຸ່ມຄູໂບຕ້າໃນລະບົບ Master-Node

    ເພື່ອໃຫ້ Kubernetes ເຮັດວຽກ, ທ່ານຈະຕ້ອງມີເຄື່ອງຈັກບັນຈຸສິນຄ້າ. ດັ່ງທີ່ໄດ້ກ່າວມາແລ້ວ, ພວກເຮົາຈະ ນຳ ໃຊ້ Docker-CE.

    ສະຖາບັນຕໍ່ໄປນີ້ຈະຖືກປະຕິບັດໃນ CentOS 8 Master-Node.

    ໃນ CentOS 8 Master-Node ຂອງທ່ານ, ຕັ້ງຄ່າ hostname ຂອງລະບົບແລະປັບປຸງ DNS ໃນເອກະສານ/etc/hosts ຂອງທ່ານ.

    # hostnamectl set-hostname master-node
    # cat <<EOF>> /etc/hosts
    192.168.0.47 master-node
    192.168.0.48 node-1 worker-node-1
    192.168.0.49 node-2 worker-node-2
    EOF
    

    ຕໍ່ໄປ, ping worker-node-1 ຂອງທ່ານແລະ worker-node-2 ເພື່ອກວດເບິ່ງວ່າເອກະສານເຈົ້າພາບທີ່ຖືກປັບປຸງຂອງທ່ານ ກຳ ລັງເຮັດວຽກຢ່າງຖືກຕ້ອງໂດຍໃຊ້ ping command ຫຼືບໍ່.

    # ping 192.168.0.48
    # ping 192.168.0.49
    

    ຕໍ່ໄປ, ປິດການໃຊ້ງານ Selinux, ເພາະວ່າມັນ ຈຳ ເປັນຕ້ອງໄດ້ອະນຸຍາດໃຫ້ພາຊະນະເຂົ້າເຖິງລະບົບແຟ້ມເອກະສານເຈົ້າພາບ, ເຊິ່ງ ຈຳ ເປັນໂດຍເຄືອຂ່າຍຝັກແລະບໍລິການອື່ນໆ.

    # setenforce 0
    

    ການ ກຳ ນົດຄ່າຕັ້ງໃຫ້ 0 ກຳ ນົດ SELinux ຢ່າງມີປະສິດຕິຜົນ, ເຊິ່ງເຮັດໃຫ້ SELinux ປິດການໃຊ້ງານໄດ້ຢ່າງມີປະສິດຕິຜົນຈົນກວ່າຈະມີການເປີດຕົວຄັ້ງຕໍ່ໄປ. ເພື່ອປິດມັນຢ່າງສົມບູນ, ໃຊ້ຄໍາສັ່ງຂ້າງລຸ່ມນີ້ແລະເລີ່ມຕົ້ນໃຫມ່.

    # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    # reboot
    

    Kubernetes ເຮັດໃຫ້ການ ນຳ ໃຊ້ພອດຕ່າງໆ ສຳ ລັບການສື່ສານແລະການເຂົ້າເຖິງແລະທ່າເຮືອເຫຼົ່ານີ້ຕ້ອງເຂົ້າເຖິງ Kubernetes ແລະບໍ່ ຈຳ ກັດໂດຍ ກຳ ແພງໄຟ.

    ຕັ້ງຄ່າກົດລະບຽບຂອງໄຟວໍຢູ່ເທິງທ່າເຮືອ.

    # firewall-cmd --permanent --add-port=6443/tcp
    # firewall-cmd --permanent --add-port=2379-2380/tcp
    # firewall-cmd --permanent --add-port=10250/tcp
    # firewall-cmd --permanent --add-port=10251/tcp
    # firewall-cmd --permanent --add-port=10252/tcp
    # firewall-cmd --permanent --add-port=10255/tcp
    # firewall-cmd --reload
    # modprobe br_netfilter
    # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
    

    ທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມ Docker repository ກ່ອນເພາະມັນບໍ່ຢູ່ໃນລາຍການຊຸດເລີ່ມຕົ້ນໂດຍໃຊ້ ຄຳ ສັ່ງ dnf config-manager ຕໍ່ໄປນີ້.

    # dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    

    ພ້ອມທັງຕິດຕັ້ງ containerd.io package ທີ່ສາມາດໃຊ້ໄດ້ເປັນ daemon ທີ່ສາມາດຄວບຄຸມຊີວິດຂອງພາຊະນະທີ່ສົມບູນຂອງລະບົບໂຮດຂອງມັນ, ຕັ້ງແຕ່ການໂອນຮູບພາບແລະການເກັບຮັກສາຈົນເຖິງການປະຕິບັດແລະການຄວບຄຸມການບັນຈຸຈົນເຖິງການເກັບຮັກສາລະດັບຕ່ ຳ ຈົນເຖິງການແນບໃນເຄືອຂ່າຍແລະຕໍ່ໄປ.

    # dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
    

    ຕອນນີ້ຕິດຕັ້ງຊຸດ docker-ce ລຸ້ນລ້າສຸດ.

    # dnf install docker-ce
    

    ດຽວນີ້ທ່ານສາມາດເປີດໃຊ້ແລະເລີ່ມການບໍລິການ docker ໄດ້.

    # systemctl enable docker
    # systemctl start docker
    

    ຕໍ່ໄປ, ທ່ານຈະຕ້ອງເພີ່ມຫໍສະມຸດ Kubernetes ດ້ວຍຕົນເອງຍ້ອນວ່າມັນບໍ່ໄດ້ຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນ CentOS 8.

    # cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    

    Kubeadm ຊ່ວຍໃຫ້ທ່ານ bootstrap cluster Kubernetes ທີ່ມີປະສິດຕິພາບຕ່ ຳ ທີ່ສຸດທີ່ສອດຄ່ອງກັບການປະຕິບັດທີ່ດີທີ່ສຸດ. ດ້ວຍ kubeadm, ກຸ່ມຂອງທ່ານຄວນຜ່ານການທົດສອບ Kubernetes Conformance.

    Kubeadm ຍັງສະ ໜັບ ສະ ໜູນ ໜ້າ ທີ່ການໃຊ້ຊີວິດແບບກະປotherອງອື່ນ ໆ ເຊັ່ນ: ການຍົກລະດັບ, ການລຸດລົງແລະການຈັດການກັບ bootstrap tokens. Kubeadm ຍັງມີຄວາມສາມາດໃນການເຊື່ອມໂຍງເຂົ້າກັບເຄື່ອງດົນຕີອື່ນໆເຊັ່ນ Ansible ແລະ Terraform.

    ກັບ repo ຊຸດທີ່ກຽມພ້ອມແລ້ວ, ທ່ານສາມາດສືບຕໍ່ເດີນຫນ້າແລະຕິດຕັ້ງຊຸດ kubeadm.

    # dnf install kubeadm -y 
    

    ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ເປີດໃຊ້ງານແລະເລີ່ມການບໍລິການ.

    # systemctl enable kubelet
    # systemctl start kubelet
    

    ແມ່ບົດ Kubernetes ເຊິ່ງເຮັດ ໜ້າ ທີ່ ຍົນຄວບຄຸມ ສຳ ລັບກຸ່ມບ້ານແມ່ນມີການບໍລິການທີ່ ສຳ ຄັນ ຈຳ ນວນ ໜຶ່ງ ທີ່ ຈຳ ເປັນ ສຳ ລັບກຸ່ມ. ໃນຖານະເປັນດັ່ງກ່າວ, ຂະບວນການເລີ່ມຕົ້ນຈະເຮັດ prechecks ຊຸດເພື່ອຮັບປະກັນວ່າເຄື່ອງແມ່ນກຽມພ້ອມທີ່ຈະດໍາເນີນ Kubernetes. ການກວດກາເຫຼົ່ານີ້ເປີດເຜີຍ ຄຳ ເຕືອນແລະອອກຈາກຄວາມຜິດພາດ. kubeadm init ຫຼັງຈາກນັ້ນດາວໂຫລດແລະຕິດຕັ້ງສ່ວນປະກອບຂອງຍົນຄວບຄຸມກຸ່ມ.

    ດຽວນີ້ເຖິງເວລາທີ່ຈະເລີ່ມຕົ້ນ Kubernetes ຕົ້ນສະບັບ, ແຕ່ກ່ອນນັ້ນ, ທ່ານຕ້ອງປິດການແລກປ່ຽນເພື່ອ ດຳ ເນີນການ ຄຳ ສັ່ງ“ kubeadm init”.

    # swapoff -a
    

    ການລິເລີ່ມຕົ້ນ Kubernetes ຕົ້ນສະບັບແມ່ນຂະບວນການອັດຕະໂນມັດຢ່າງສົມບູນເຊິ່ງຄວບຄຸມໂດຍ ຄຳ ສັ່ງ“ kubeadm init” ດັ່ງທີ່ສະແດງໄວ້.

    # kubeadm init
    

    ຕໍ່ໄປ, ຄັດລອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້ແລະເກັບມັນໄວ້ບ່ອນໃດບ່ອນ ໜຶ່ງ, ດັ່ງທີ່ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ດຳ ເນີນການ ຄຳ ສັ່ງນີ້ໃສ່ຂໍ້ ກຳ ນົດຂອງຄົນງານຕໍ່ມາ.

    kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5  \ --discovery-token-ca-cert-hash ha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf7

    ຄຳ ແນະ ນຳ: ບາງຄັ້ງ ຄຳ ສັ່ງຂ້າງເທິງນີ້ອາດຈະຖິ້ມຂໍ້ຜິດພາດກ່ຽວກັບການໂຕ້ຖຽງທີ່ຜ່ານໄປ, ດັ່ງນັ້ນ, ເພື່ອຫລີກລ້ຽງຂໍ້ຜິດພາດ, ທ່ານ ຈຳ ເປັນຕ້ອງເອົາຕົວອັກສອນ '\' ອອກມາແລະ ຄຳ ສັ່ງສຸດທ້າຍຂອງທ່ານຈະເປັນແບບນີ້.

    # kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5 –discovery token-ca-cert-hash sha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf7
    

    ເມື່ອ Kubernetes ເລີ່ມປະສົບຜົນ ສຳ ເລັດ, ທ່ານຕ້ອງເຮັດໃຫ້ຜູ້ໃຊ້ຂອງທ່ານສາມາດເລີ່ມຕົ້ນ ນຳ ໃຊ້ກຸ່ມ. ໃນສະຖານະການຂອງພວກເຮົາ, ພວກເຮົາຈະນໍາໃຊ້ຜູ້ໃຊ້ຮາກ. ທ່ານຍັງສາມາດເລີ່ມຕົ້ນກຸ່ມໄດ້ໂດຍໃຊ້ຜູ້ໃຊ້ sudo ດັ່ງທີ່ສະແດງໄວ້.

    ເພື່ອໃຊ້ຮາກ, ດຳ ເນີນການ:

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

    ເພື່ອໃຊ້ຜູ້ໃຊ້ sudo ທີ່ເປີດໃຊ້ງານ, ດຳ ເນີນການ:

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

    ຕອນນີ້ຢືນຢັນວ່າ ຄຳ ສັ່ງ kubectl ຖືກເປີດໃຊ້ແລ້ວ.

    # kubectl get nodes
    

    ໃນເວລານີ້, ທ່ານຈະເຫັນສະຖານະຂອງແມ່ບົດແມ່ນ 'NotReady'. ນີ້ແມ່ນຍ້ອນວ່າພວກເຮົາຍັງບໍ່ທັນໄດ້ ນຳ ໃຊ້ເຄືອຂ່າຍຝັກໃຫ້ເປັນກຸ່ມ.

    ເຄືອຂ່າຍ pod ແມ່ນເຄືອຂ່າຍທີ່ຊ້ອນກັນ ສຳ ລັບກຸ່ມບ້ານ, ເຊິ່ງຖືກ ນຳ ໃຊ້ຢູ່ເທິງສຸດຂອງເຄືອຂ່າຍ node ປະຈຸບັນ. ມັນຖືກອອກແບບມາເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ທົ່ວຝັກ.

    ການ ນຳ ໃຊ້ກຸ່ມເຄືອຂ່າຍແມ່ນຂະບວນການທີ່ມີຄວາມຍືດຫຍຸ່ນສູງໂດຍອີງຕາມຄວາມຕ້ອງການຂອງທ່ານແລະມີຫລາຍທາງເລືອກທີ່ມີຢູ່. ເນື່ອງຈາກວ່າພວກເຮົາຕ້ອງການທີ່ຈະຮັກສາການຕິດຕັ້ງຂອງພວກເຮົາໃຫ້ງ່າຍດາຍເທົ່າທີ່ຈະເປັນໄປໄດ້, ພວກເຮົາຈະໃຊ້ໂປແກຼມ Weavenet ເຊິ່ງບໍ່ ຈຳ ເປັນຕ້ອງມີການຕັ້ງຄ່າຫລືລະຫັດພິເສດແລະມັນສະ ໜອງ ທີ່ຢູ່ IP ຕໍ່ ໜຶ່ງ ເມັດເຊິ່ງມັນດີ ສຳ ລັບພວກເຮົາ. ຖ້າທ່ານຕ້ອງການເບິ່ງຕົວເລືອກເພີ່ມເຕີມ, ກະລຸນາກວດເບິ່ງທີ່ນີ້.

    ຄຳ ສັ່ງເຫລົ່ານີ້ຈະມີຄວາມ ສຳ ຄັນທີ່ຈະໄດ້ຮັບການຕັ້ງເຄືອຂ່າຍຝັກ.

    # export kubever=$(kubectl version | base64 | tr -d '\n')
    # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
    

    ດຽວນີ້ຖ້າທ່ານກວດເບິ່ງສະຖານະຂອງແມ່ບົດຂອງມັນ, ມັນຄວນຈະເປັນ 'ກຽມພ້ອມ'.

    # kubectl get nodes
    

    ຕໍ່ໄປ, ພວກເຮົາຕື່ມຂໍ້ມູນຂອງແຮງງານເຂົ້າໃນກຸ່ມ.

    ເພີ່ມ Nodes ຂອງ Worker ເຂົ້າໃນ Cluster Kubernetes

    ຄຳ ແນະ ນຳ ຕໍ່ໄປນີ້ຈະຖືກປະຕິບັດໃນແຕ່ລະຂໍ້ຂອງແຮງງານເມື່ອເຂົ້າຮ່ວມກຸ່ມບ້ານ Kubernetes.

    ທໍາອິດຕັ້ງຊື່ໂຮດຢູ່ໃນ worker-node-1 ແລະ worker-node-2 ຂອງທ່ານ, ແລະຫຼັງຈາກນັ້ນຕື່ມໃສ່ host host ໃສ່ແຟ້ມ/etc/hosts.

    # hostnamectl set-hostname 'node-1'
    # cat <<EOF>> /etc/hosts
    192.168.0.47 master-node
    192.168.0.48 node-1 worker-node-1
    192.168.0.49 node-2 worker-node-2
    EOF
    

    ຕໍ່ໄປ, ping ແມ່ບົດຂອງທ່ານຈາກຂໍ້ ກຳ ມະກອນຂອງທ່ານເພື່ອຢືນຢັນວ່າເອກະສານເຈົ້າພາບທີ່ຖືກປັບປຸງຂອງທ່ານ ກຳ ລັງເຮັດວຽກໄດ້ດີໂດຍໃຊ້ ຄຳ ສັ່ງ ping.

    # 192.168.0.47
    

    ຕໍ່ໄປ, ປິດການໃຊ້ງານ SElinux ແລະປັບປຸງກົດລະບຽບ Firewall ຂອງທ່ານ.

    # setenforce 0
    # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    # firewall-cmd --permanent --add-port=6783/tcp
    # firewall-cmd --permanent --add-port=10250/tcp
    # firewall-cmd --permanent --add-port=10255/tcp
    # firewall-cmd --permanent --add-port=30000-32767/tcp
    # firewall-cmd --reload
    # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
    

    ຕື່ມໃສ່ Docker repository ກ່ອນໂດຍໃຊ້ DNF config-manager.

    # dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    

    ຕໍ່ໄປ, ຕື່ມຊຸດ containerd.io.

    # dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
    

    ດ້ວຍການຕິດຕັ້ງສອງຊຸດດັ່ງກ່າວ, ຕິດຕັ້ງ docker-ce ລຸ້ນລ້າສຸດ.

    # dnf install docker-ce
    

    ເປີດໃຊ້ງານແລະເລີ່ມການບໍລິການ docker.

    # systemctl enable docker
    # systemctl start docker
    

    ທ່ານຈະຕ້ອງເພີ່ມຫໍສະມຸດ Kubernetes ດ້ວຍຕົນເອງຍ້ອນວ່າມັນບໍ່ໄດ້ຕິດຕັ້ງໄວ້ກ່ອນໃນ CentOS 8.

    # cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    

    ມີ repo ຊຸດທີ່ກຽມພ້ອມແລ້ວ, ທ່ານສາມາດສືບຕໍ່ເດີນຫນ້າແລະຕິດຕັ້ງ kubeadm.

    # dnf install kubeadm -y 
    

    ເລີ່ມຕົ້ນແລະເປີດໃຊ້ບໍລິການ.

    # systemctl enable kubelet
    # systemctl start kubelet
    

    ໃນປັດຈຸບັນພວກເຮົາຮຽກຮ້ອງໃຫ້ມີສັນຍາລັກທີ່ kubeadm ໄດ້ຜະລິດ, ເພື່ອເຂົ້າຮ່ວມເປັນກຸ່ມ. ທ່ານສາມາດຄັດລອກແລະວາງມັນໃສ່ node-1 ແລະ node-2 ຂອງທ່ານຖ້າທ່ານໄດ້ຄັດລອກມັນຢູ່ບ່ອນໃດບ່ອນ ໜຶ່ງ.

    # kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf78
    

    ດັ່ງທີ່ໄດ້ແນະ ນຳ ກ່ຽວກັບສາຍສຸດທ້າຍ, ໃຫ້ກັບໄປທີ່ແມ່ບົດຂອງທ່ານແລະກວດສອບວ່າ node-1 ກຳ ມະກອນແລະແຮງງານ node-2 ໄດ້ເຂົ້າຮ່ວມເປັນກຸ່ມໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # kubectl get nodes
    

    ຖ້າຂັ້ນຕອນທັງ ໝົດ ດຳ ເນີນການຢ່າງປະສົບຜົນ ສຳ ເລັດ, ຫຼັງຈາກນັ້ນ, ທ່ານຄວນເຫັນ node-1 ແລະ node-2 ຢູ່ໃນສະຖານະທີ່ກຽມພ້ອມໃນ master-node. ໃນຈຸດນີ້, ດຽວນີ້ທ່ານໄດ້ ນຳ ໃຊ້ລະບົບກະປKubອງ Kubernetes ຢູ່ CentOS 8 ສຳ ເລັດແລ້ວ.

    ຂໍ້ແນະ ນຳ ໃຫ້ອ່ານ: ວິທີການ ນຳ ໃຊ້ Nginx ໃສ່ກຸ່ມຄູໂບລານ

    ກຸ່ມທີ່ພວກເຮົາສ້າງຢູ່ນີ້ມີ node Master ດຽວແລະດັ່ງນັ້ນ, ຖ້າວ່າ node Master ລົ້ມເຫລວ, ກຸ່ມຂອງທ່ານອາດຈະສູນເສຍຂໍ້ມູນແລະອາດຈະຕ້ອງໄດ້ສ້າງແບບ ໃໝ່ໆ ຈາກ scratch.

    ດ້ວຍເຫດຜົນນີ້, ຂ້າພະເຈົ້າຂໍແນະ ນຳ ໃຫ້ມີການຕັ້ງຄ່າທີ່ມີໄວ້ໃຫ້ສູງ.