მიერ შემოწირული Google Opensource საზოგადოებისთვის, კუბერნეტეს ახლა გახდა კონტეინერების მართვის არჩეული ინსტრუმენტი. მას შეუძლია მართოს და მოაწყოს არა მხოლოდ დოკერის გაშვების დრო, არამედ კონტეინერები და რქტ გაშვების დრო
ტიპიური კუბერნეტეს კლასტერს ზოგადად ექნება სამაგისტრო კვანძი და რამდენიმე მუშა კვანძი ან მინიონი. შემდგომ მუშა კვანძების მართვა ხდება ძირითადი კვანძიდან, რითაც უზრუნველყოფს კლასტერის მართვას ცენტრალური წერტილიდან.
ასევე მნიშვნელოვანია აღინიშნოს, რომ თქვენ ასევე შეგიძლიათ განათავსოთ ერთი კვანძის Kubernetes კლასტერი, რომელიც ზოგადად რეკომენდებულია ძალიან მსუბუქი, არაწარმოების დატვირთვებისათვის. ამისათვის შეგიძლიათ გამოიყენოთ მინიკუბე, რომელიც არის ინსტრუმენტი, რომელიც მართავს ერთ კვანძოვან Kubernetes კლასტერს ვირტუალურ აპარატში თქვენს კვანძზე.
რეკომენდებული წაკითხვა: როგორ დააინსტალიროთ Kubernetes კლასტერი CentOS 8 -ზე
ამ გაკვეთილისთვის ჩვენ გავატარებთ მრავალ კვანძს კუბერნეტეს კლასტერის ინსტალაცია CentOS 7 Linux. ეს გაკვეთილი დაფუძნებულია ბრძანების ხაზზე, ასე რომ თქვენ დაგჭირდებათ წვდომა თქვენი ტერმინალის ფანჯარაზე.
ჩვენი 3 კვანძოვანი კლასტერი ასე გამოიყურება:
ამისთვის კუბერნეტეს სამუშაოდ, დაგჭირდებათ კონტეინერიზაციის ძრავა. ამ ინსტალაციისთვის ჩვენ გამოვიყენებთ დოკერი რადგან ის ყველაზე პოპულარულია.
შემდეგი ნაბიჯები გადის სამაგისტრო-კვანძი.
თქვენს სამაგისტრო კვანძზე დააყენეთ მასპინძლის სახელი და თუ არ გაქვთ DNS სერვერი, ასევე განაახლეთ თქვენი /etc/hosts ფაილი
# hostnamectl set-hostname სამაგისტრო კვანძი. # კატა <> /etc /მასპინძლები. 10.128.0.27 სამაგისტრო კვანძი. 10.128.0.29 კვანძი -1 მუშა-კვანძი -1. 10.128.0.30 კვანძი -2 მუშა-კვანძი -2. EOF
შეგიძლია პინგი მუშა-კვანძი -1 და მუშა-კვანძი -2 შესამოწმებლად არის თუ არა კარგი თქვენი განახლებული hostfile პინგის ბრძანება.
# პინგი 10.128.0.29. # პინგი 10.128.0.30.
შემდეგი, გამორთეთ სელინუქსი და განაახლეთ თქვენი firewall წესები.
# setenforce 0. # sed -i --follow -symlinks's/SELINUX = აღსრულება/SELINUX = გამორთული/g '/etc/sysconfig/selinux. # გადატვირთვა
პორტებზე დააყენეთ შემდეგი firewall წესები. დარწმუნდით, რომ თითოეული firewall-cmd ბრძანება, აბრუნებს წარმატებას.
# firewall-cmd-მუდმივი-დამატება-პორტი = 6443/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 2379-2380/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 10250/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 10251/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 10252/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 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. [კუბერნეტეს] სახელი = კუბერნეტესი. ბაზურლი = 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. EOF
პაკეტის რეპო ახლა მზად არის, შეგიძლიათ გააგრძელოთ და დააინსტალიროთ კუბეადმი და დოკერი პაკეტები.
# yum დააინსტალირეთ kubeadm docker -y
როდესაც ინსტალაცია წარმატებით დასრულდება, ჩართეთ და დაიწყეთ ორივე სერვისი.
# systemctl ჩართეთ kubelet. # systemctl დაიწყეთ kubelet. # systemctl დოკერის ჩართვა. # systemctl დაწყების დოკერი.
ახლა ჩვენ მზად ვართ kubernetes master– ის ინიციალიზაციისთვის, მაგრამ მანამდე თქვენ უნდა გამორთოთ swap, რომ გაუშვათ ”kubeadm init"ბრძანება.
# გაცვლა -ა.
კუბერნეტესის ოსტატის ინიციალიზაცია არის სრულად ავტომატიზირებული პროცესი, რომელსაც მართავს ”kubeadm init"ბრძანება, რომელსაც გაუშვებ.
# kubeadm init.
შეიძლება დაგჭირდეთ ბოლო სტრიქონის კოპირება და სადმე შენახვა, რადგან თქვენ დაგჭირდებათ მისი გაშვება მუშა კვანძები.
kubeadm შეერთება
რჩევა: ზოგჯერ ეს ბრძანება შეიძლება უჩიოდეს არგუმენტები (არგუმენტები) გავიდა, ასე რომ შეცვალეთ ის შეცდომების თავიდან ასაცილებლად. ასე რომ, თქვენ წაშლით ‘\’
თანმხლები პერსონაჟი --ნიშანი
და თქვენი საბოლოო ბრძანება ასე გამოიყურება.
kubeadm შეუერთდება 10.128.0.27:6443-ნათქვამი nu06lu.xrsux0ss0ixtnms5-აღმოჩენა-ნიშანი-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884
ინიციალიზებული იყო კუბერნეტეს წარმატებით, თქვენ უნდა დაუშვათ თქვენს მომხმარებელს დაიწყოს კლასტერის გამოყენება. ჩვენს შემთხვევაში, ჩვენ გვსურს ამ ინსტალაციის გაშვება ფესვი მომხმარებელი, ამიტომ ჩვენ წავალთ წინ და გაუშვებთ ამ ბრძანებებს როგორც root. თქვენ შეგიძლიათ შეცვალოთ a sudo ჩართული მომხმარებელი თქვენ გირჩევნიათ და გაუშვით ქვემოთ sudo– ს გამოყენებით.
Გამოყენება ფესვი, გაუშვით:
# mkdir -p $ HOME/.kube. # cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. # chown $ (id -u): $ (id -g) $ HOME/.kube/კონფიგურაცია.
გამოიყენოს ა sudo ჩართული მომხმარებელი, გაუშვით:
$ mkdir -p $ HOME/.kube. $ sudo cp -i /etc/kubernetes/admin.conf $ HOME/.kube/კონფიგურაცია. $ sudo chown $ (id -u): $ (id -g) $ HOME/.kube/კონფიგურაცია.
ახლა შეამოწმეთ თუ არა კუბექტლ ბრძანება გააქტიურებულია.
# kubectl მიიღეთ კვანძები.
ამ ეტაპზე, თქვენ ასევე შეამჩნევთ, რომ სტატუსი სამაგისტრო კვანძი არის 'მზად არ არის’. ეს იმიტომ ხდება, რომ ჩვენ ჯერ არ განვათავსებთ pod ქსელი მტევნისკენ.
pod ქსელი არის კლასტერის გადაფარვის ქსელი, რომელიც განლაგებულია წინამდებარე კვანძების ქსელის თავზე. ის შექმნილია იმისთვის, რომ უზრუნველყოს კავშირი ბადის გასწვრივ.
ქსელის კლასტერის განთავსება არის უაღრესად მოქნილი პროცესი, რაც დამოკიდებულია თქვენს საჭიროებებზე და არსებობს მრავალი ვარიანტი. ვინაიდან ჩვენ გვსურს შევინარჩუნოთ ინსტალაცია რაც შეიძლება მარტივი, ჩვენ გამოვიყენებთ Weavenet მოდული, რომელიც არ საჭიროებს რაიმე კონფიგურაციას ან დამატებით კოდს და ის გვაძლევს ერთ IP მისამართს თითო პოდზე, რაც ჩვენთვის შესანიშნავია. თუ გსურთ ნახოთ მეტი ვარიანტი, გთხოვთ შეამოწმეთ აქ.
ეს ბრძანებები მნიშვნელოვანი იქნება pod ქსელის დაყენების მისაღებად.
# ექსპორტი kubever = $ (kubectl ვერსია | base64 | tr -d '\ n') # kubectl მიმართოს -f " https://cloud.weave.works/k8s/net? k8s-version = $ kubever "
ახლა თუ შეამოწმე შენი სტატუსი სამაგისტრო კვანძი, ეს უნდა იყოს 'მზადაა’.
# kubectl მიიღეთ კვანძები.
შემდეგი, ჩვენ დავამატებთ მუშა კვანძები მტევნისკენ.
შემდეგი ნაბიჯები გადის მუშა კვანძები. ეს ნაბიჯები უნდა შესრულდეს თითოეულზე მუშა კვანძი გაწევრიანებისას კუბერნეტეს მტევანი
თქვენს მუშა-კვანძი -1 და მუშა-კვანძი -2, დააყენეთ მასპინძლის სახელი და თუ არ გაქვთ DNS სერვერი, ასევე განაახლეთ თქვენი სამაგისტრო და მუშა კვანძები /etc/hosts ფაილი
# hostnamectl set-hostname 'node-1' # კატა <> /etc /მასპინძლები. 10.128.0.27 სამაგისტრო კვანძი. 10.128.0.29 კვანძი -1 მუშა-კვანძი -1. 10.128.0.30 კვანძი -2 მუშა-კვანძი -2. EOF
შეგიძლია პინგი სამაგისტრო კვანძი შესამოწმებლად არის თუ არა კარგი თქვენი განახლებული hostfile.
შემდეგი, გამორთეთ სელინუქსი და განაახლეთ თქვენი firewall წესები.
# setenforce 0. # sed -i --follow -symlinks's/SELINUX = აღსრულება/SELINUX = გამორთული/g '/etc/sysconfig/selinux.
პორტებზე დააყენეთ შემდეგი firewall წესები. დარწმუნდით, რომ ყველა firewall-cmd ბრძანება, დააბრუნეთ წარმატება.
# firewall-cmd-მუდმივი-დამატება-პორტი = 6783/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 10250/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 10255/tcp. # firewall-cmd-მუდმივი-დამატება-პორტი = 30000-32767/tcp. # firewall-cmd-გადატვირთვა. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
თქვენ დაგჭირდებათ დამატება კუბერნეტეს საცავები ხელით, რადგან ისინი წინასწარ არ არის დაინსტალირებული CentOS 7.
კატა </etc/yum.repos.d/kubernetes.repo. [კუბერნეტეს] სახელი = კუბერნეტესი. ბაზურლი = 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. EOF
პაკეტის რეპო ახლა მზად არის, შეგიძლიათ გააგრძელოთ და დააინსტალიროთ კუბეადმი და დოკერი პაკეტები.
# yum დააინსტალირეთ kubeadm docker -y
დაიწყეთ და ჩართეთ ორივე სერვისი.
# systemctl დოკერის ჩართვა. # systemctl დაწყების დოკერი. # systemctl ჩართეთ kubelet. # systemctl დაიწყეთ kubelet.
ჩვენ ახლა ამის ნიშანს ვითხოვთ კუბეადმი init გენერირებული, კლასტერის შესაერთებლად. შეგიძლიათ დააკოპიროთ და ჩასვათ თქვენს კვანძი -1 და კვანძი -2 თუ სადმე დააკოპირეთ.
# kubeadm შეერთება 10.128.0.27:6443-ნათქვამი nu06lu.xrsux0ss0ixtnms5-აღმოჩენა-ნიშანი-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc823146884
როგორც წინა ხაზზეა შემოთავაზებული, დაუბრუნდით თქვენს სამაგისტრო კვანძი და შეამოწმე თუ არა მუშა კვანძი -1 და მუშა კვანძი -2 შეუერთდნენ კლასტერს შემდეგი ბრძანების გამოყენებით.
# kubectl მიიღეთ კვანძები.
თუ ყველა ნაბიჯი წარმატებით გადის, მაშინ უნდა ნახოთ კვანძი -1 და კვანძი -2 მზა სტატუსზე სამაგისტრო კვანძი.
რეკომენდებული წაკითხვა: როგორ განვათავსოთ Nginx კუბერნეტეს კლასტერზე
ამ ეტაპზე ჩვენ წარმატებით დავასრულეთ ა -ს ინსტალაცია კუბერნეტეს მტევანი ჩართულია ცენტოსი 7 და ჩვენ წარმატებით ჩავსვით ბორტზე ორი მუშა-კვანძები. ახლა თქვენ შეგიძლიათ დაიწყოთ თქვენი პოდების შექმნა და თქვენი სერვისების განლაგება.