Δωρεά από τον Google στην κοινότητα Opensource, Κουμπερνέτες έχει γίνει πλέον το εργαλείο επιλογής διαχείρισης εμπορευματοκιβωτίων. Μπορεί να διαχειριστεί και να ενορχηστρώσει όχι μόνο χρόνους εκτέλεσης docker αλλά και Containers και Rkt χρόνοι εκτέλεσης
Ένα τυπικό Κουμπερνέτες Το σύμπλεγμα θα είχε γενικά έναν κύριο κόμβο και πολλούς κόμβους εργαζομένων ή Minions. Στη συνέχεια, οι κόμβοι εργαζομένων διαχειρίζονται από τον κύριο κόμβο, διασφαλίζοντας έτσι ότι η διαχείριση του συμπλέγματος γίνεται από ένα κεντρικό σημείο.
Είναι επίσης σημαντικό να αναφερθεί ότι μπορείτε επίσης να αναπτύξετε ένα σύμπλεγμα Kubernetes ενός κόμβου, το οποίο συνιστάται γενικά για πολύ ελαφρούς φόρτους εργασίας μη παραγωγής. Για αυτό, μπορείτε να χρησιμοποιήσετε Minikube, το οποίο είναι ένα εργαλείο που εκτελεί ένα σύμπλεγμα Kubernetes ενός κόμβου σε μια εικονική μηχανή στον κόμβό σας.
Συνιστάται Ανάγνωση: Πώς να εγκαταστήσετε ένα σύμπλεγμα Kubernetes στο CentOS 8
Για αυτό το σεμινάριο, θα περάσουμε από έναν πολυ-κόμβο
Κουμπερνέτες εγκατάσταση συμπλέγματος ενεργοποιημένη CentOS 7 Linux. Αυτό το σεμινάριο βασίζεται στη γραμμή εντολών, οπότε θα χρειαστείτε πρόσβαση στο παράθυρο του τερματικού σας.Το σύμπλεγμα 3 κόμβων μας θα μοιάζει με αυτό:
Για Κουμπερνέτες για να εργαστείτε, θα χρειαστείτε μια μηχανή μεταφοράς εμπορευματοκιβωτίων. Για αυτήν την εγκατάσταση, θα χρησιμοποιήσουμε λιμενεργάτης καθώς είναι το πιο δημοφιλές.
Τα παρακάτω βήματα θα εκτελεστούν στο Master-Node.
Στον κύριο κόμβό σας, ορίστε το όνομα κεντρικού υπολογιστή και εάν δεν έχετε διακομιστή DNS, ενημερώστε επίσης τον δικό σας /etc/hosts αρχείο.
# hostnamectl set-hostname master-node. # γάτα <> /etc /hosts. 10.128.0.27 κύριος κόμβος. 10.128.0.29 κόμβος-1 εργαζόμενος-κόμβος-1. 10.128.0.30 κόμβος-2 εργαζόμενος-κόμβος-2. ΕΟΦ.
Μπορείτε να κάνετε πινγκ εργάτης-κόμβος-1 και εργάτης-κόμβος-2 για να ελέγξετε αν το ενημερωμένο αρχείο κεντρικού υπολογιστή σας είναι καλό στη χρήση εντολή ping.
# ping 10.128.0.29. # ping 10.128.0.30.
Στη συνέχεια, απενεργοποιήστε SElinux και ενημερώστε τους κανόνες τείχους προστασίας.
# setenforce 0. # sed -i --follow -symlinks's/SELINUX = εκτέλεση/SELINUX = απενεργοποιημένο/g '/etc/sysconfig/selinux. # επανεκκίνηση
Ορίστε τους ακόλουθους κανόνες τείχους προστασίας στις θύρες. Βεβαιωθείτε ότι το καθένα εντολή firewall-cmd, επιστρέφει μια επιτυχία.
# 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 –αναφόρτωση. # modprobe br_netfilter. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Θα χρειαστεί να προσθέσετε Κουμπερνέτες αποθετήρια με μη αυτόματο τρόπο καθώς δεν εγκαθίστανται από προεπιλογή CentOS 7.
γάτα </etc/yum.repos.d/kubernetes.repo. [kubernetes] όνομα = Κουμπερνέτες. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. ενεργοποιημένο = 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. ΕΟΦ.
Με το repo πακέτου τώρα έτοιμο, μπορείτε να προχωρήσετε και να εγκαταστήσετε kubeadm και λιμενεργάτης πακέτα.
# yum εγκατάσταση kubeadm docker -y
Όταν ολοκληρωθεί η εγκατάσταση με επιτυχία, ενεργοποιήστε και ξεκινήστε και τις δύο υπηρεσίες.
# systemctl ενεργοποίηση kubelet. # systemctl εκκίνηση kubelet. # systemctl ενεργοποίηση docker. # systemctl start docker.
Τώρα είμαστε έτοιμοι να αρχικοποιήσουμε το kubernetes master, αλλά πριν από αυτό πρέπει να απενεργοποιήσετε την ανταλλαγή για να εκτελεστεί "kubeadm init" εντολή.
# ανταλλαγή -α.
Η εκκίνηση του κύριου Kubernetes είναι μια πλήρως αυτοματοποιημένη διαδικασία που διαχειρίζεται η "kubeadm init"Εντολή που θα εκτελέσετε.
# kubeadm init.
Μπορεί να θέλετε να αντιγράψετε την τελευταία γραμμή και να την αποθηκεύσετε κάπου επειδή θα χρειαστεί να την εκτελέσετε στο κόμβοι εργαζομένων.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884
Υπόδειξη: Μερικές φορές αυτή η εντολή μπορεί να παραπονεθεί για το επιχειρήματα (αψίδες) πέρασε, οπότε επεξεργαστείτε το για να αποφύγετε τυχόν σφάλματα. Έτσι, θα διαγράψετε το ‘\’
χαρακτήρας που συνοδεύει το --ένδειξη
και η τελική εντολή σας θα μοιάζει με αυτήν.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884
Έχοντας ξεκινήσει Κουμπερνέτες με επιτυχία, θα πρέπει να επιτρέψετε στον χρήστη σας να αρχίσει να χρησιμοποιεί το σύμπλεγμα. Στην περίπτωσή μας, θέλουμε να εκτελέσουμε αυτήν την εγκατάσταση ως ρίζα χρήστη, επομένως θα προχωρήσουμε και θα εκτελέσουμε αυτές τις εντολές ως root. Μπορείτε να αλλάξετε σε α sudo ενεργοποιημένος χρήστης προτιμάτε και εκτελείτε το παρακάτω χρησιμοποιώντας 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 λάβετε κόμβους.
Σε αυτό το σημείο, θα παρατηρήσετε επίσης ότι η κατάσταση του κύριος κόμβος είναι 'NotReady’. Αυτό συμβαίνει επειδή δεν έχουμε ακόμη αναπτύξει το δίκτυο pod στο σύμπλεγμα.
ο pod Network είναι το δίκτυο επικάλυψης για το σύμπλεγμα, το οποίο αναπτύσσεται πάνω από το τρέχον δίκτυο κόμβων. Έχει σχεδιαστεί για να επιτρέπει τη συνδεσιμότητα σε όλο το λοβό.
Η ανάπτυξη του συμπλέγματος δικτύου είναι μια εξαιρετικά ευέλικτη διαδικασία ανάλογα με τις ανάγκες σας και υπάρχουν πολλές διαθέσιμες επιλογές. Δεδομένου ότι θέλουμε να διατηρήσουμε την εγκατάσταση μας όσο το δυνατόν πιο απλή, θα χρησιμοποιήσουμε Weavenet plugin που δεν απαιτεί καμία ρύθμιση παραμέτρων ή επιπλέον κώδικα και παρέχει μία διεύθυνση IP ανά pod που είναι εξαιρετική για εμάς. Αν θέλετε να δείτε περισσότερες επιλογές, παρακαλώ ελέγξτε εδώ.
Αυτές οι εντολές θα είναι σημαντικές για τη ρύθμιση του δικτύου pod.
# export kubever = $ (έκδοση kubectl | base64 | tr -d '\ n') # kubectl apply -f " https://cloud.weave.works/k8s/net? k8s-version = $ kubever "
Τώρα, αν ελέγξετε την κατάσταση του κύριος κόμβος, θα έπρεπε να είναι 'Ετοιμος’.
# kubectl λάβετε κόμβους.
Στη συνέχεια, προσθέτουμε το κόμβοι εργαζομένων στο σύμπλεγμα.
Τα παρακάτω βήματα θα εκτελεστούν στο κόμβοι εργαζομένων. Αυτά τα βήματα πρέπει να εκτελούνται σε όλους κόμβος εργαζομένου κατά την ένταξη σε Κουμπερνέτες σύμπλεγμα.
Πάνω στο ___ σου εργάτης-κόμβος-1 και εργάτης-κόμβος-2, ορίστε το όνομα κεντρικού υπολογιστή και σε περίπτωση που δεν έχετε διακομιστή DNS, ενημερώστε επίσης τους κύριους και τους κόμβους εργαζομένων σας /etc/hosts αρχείο.
# hostnamectl set-hostname 'node-1' # γάτα <> /etc /hosts. 10.128.0.27 κύριος κόμβος. 10.128.0.29 κόμβος-1 εργαζόμενος-κόμβος-1. 10.128.0.30 κόμβος-2 εργαζόμενος-κόμβος-2. ΕΟΦ.
Μπορείτε να κάνετε πινγκ κύριος κόμβος για να ελέγξετε αν το ενημερωμένο αρχείο hostf είναι εντάξει.
Στη συνέχεια, απενεργοποιήστε SElinux και ενημερώστε τους κανόνες τείχους προστασίας.
# setenforce 0. # sed -i --follow -symlinks's/SELINUX = εκτέλεση/SELINUX = απενεργοποιημένο/g '/etc/sysconfig/selinux.
Ορίστε τους ακόλουθους κανόνες τείχους προστασίας στις θύρες. Βεβαιωθείτε ότι όλες οι εντολές τείχους προστασίας-cmd, επιστρέφουν την επιτυχία.
# 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-επαναφόρτωση. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Θα χρειαστεί να προσθέσετε Κουμπερνέτες αποθετήρια με μη αυτόματο τρόπο καθώς δεν είναι προεγκατεστημένα CentOS 7.
γάτα </etc/yum.repos.d/kubernetes.repo. [kubernetes] όνομα = Κουμπερνέτες. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. ενεργοποιημένο = 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. ΕΟΦ.
Με το repo πακέτου τώρα έτοιμο, μπορείτε να προχωρήσετε και να εγκαταστήσετε kubeadm και λιμενεργάτης πακέτα.
# yum εγκατάσταση kubeadm docker -y
Εκκινήστε και ενεργοποιήστε και τις δύο υπηρεσίες.
# systemctl ενεργοποίηση docker. # systemctl start docker. # systemctl ενεργοποίηση kubelet. # systemctl εκκίνηση kubelet.
Απαιτούμε τώρα το σύμβολο αυτό kubeadm init δημιουργήθηκε, για να ενταχθεί στο σύμπλεγμα. Μπορείτε να το αντιγράψετε και να το επικολλήσετε στο δικό σας κόμβος-1 και κόμβος-2 αν το είχατε αντιγράψει κάπου.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884
Όπως προτείνεται στην τελευταία γραμμή, επιστρέψτε στη δική σας κύριος κόμβος και ελέγξτε αν κόμβος εργαζομένων-1 και κόμβος εργαζομένου-2 έχουν ενταχθεί στο σύμπλεγμα χρησιμοποιώντας την ακόλουθη εντολή.
# kubectl λάβετε κόμβους.
Εάν όλα τα βήματα εκτελούνται με επιτυχία, τότε, θα πρέπει να το δείτε κόμβος-1 και κόμβος-2 σε κατάσταση ετοιμότητας στο κύριος κόμβος.
Συνιστάται Ανάγνωση: Πώς να αναπτύξετε το Nginx σε ένα σύμπλεγμα Kubernetes
Σε αυτό το σημείο, ολοκληρώσαμε με επιτυχία μια εγκατάσταση ενός Κουμπερνέτες συστάδα επάνω Centos 7 και έχουμε επιβιβάσει με επιτυχία δύο εργάτες-κόμβοι. Τώρα μπορείτε να αρχίσετε να δημιουργείτε τα pod σας και να αναπτύσσετε τις υπηρεσίες σας.