Kubernetes е безплатна система за управление на контейнери с отворен код което осигурява платформа за автоматизиране на внедряването, мащабирането и операциите на контейнери за приложения в групи хост компютри.
С Kubernetes те могат свободно да използват локална, обществена и хибридна облачна инфраструктура, за да изпълняват задачите за внедряване на организацията си.
Kubernetes инсталация на Ubuntu и деривати
За практична инсталация, ще използваме клъстер от два възела, който ще формираме в тази статия, ще се състои от главен възел и подчинен възел.
И двата възела трябва да имат Kubernetes, инсталиран на тях. Първото нещо, което ще направим, е да инсталираме докер и на двамата, за това просто трябва да изпълним следната команда върху тях:
sudo apt install docker.io
За да проверите дали е инсталиран докер, можете да изпълните следната команда и на двата възела:
docker --version
Сега нека продължим да активираме докер на двата възела:
sudo systemctl enable docker
Сега следващата стъпка е да добавите ключа Kubernetes към двата възела, правим това със следната команда:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Следващата стъпка е да добавите следното хранилище към двете системи:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Последната стъпка в инсталационния процес е да инсталирате Kubeadm и на двата възела чрез следната команда:
sudo apt install kubeadm
Те могат да проверят номера на версията на Kubeadm и също така да проверят инсталацията чрез следната команда:
kubeadm version
Разполагане на Kubernetes
Сега, за да приложим внедряването на Kubernetes в системата, трябва да деактивираме суап паметта (ако тя работи) и в двата възла
Те трябва да деактивират суап паметта и на двата възелатъй като Kubernetes не работи правилно на система, която използва суап памет.
За да направите това, просто изпълнете:
sudo swapoff -a
Сега следващата стъпка е изпълнете следната команда на главния възел, за да му дадете уникално име на хост:
sudo hostnamectl set-hostname master-node
Докато за подчинения възел трябва да напишем:
sudo hostnamectl set-hostname slave-node
Направих това сега vНека да пристъпим към инициализиране на главния възел със следната команда:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Процесът може да отнеме минута или повече в зависимост от вашата интернет връзка. Изходът на тази команда е много важен, така че трябва да запишете информацията в изхода, тъй като тя съдържа ip, маркера и други.
За да започнат да използват вашия клъстер, те трябва да изпълнят следното като обикновен потребител:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Сега те могат да се присъединят към произволен брой машини, като изпълняват следното на всеки възел като root потребители:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Където те ще заменят информацията за tutoken, tuip и вашия хеш с информацията, казана преди няколко минути, която ще запишат.
Получаване на списъка с възли
Ще видите, че състоянието на главния възел все още не е готово. Това е така, защото на главния възел все още не е разположена под и затова мрежовият интерфейс на контейнера е празен.
За да видим списъка, трябва само да изпълним:
kubectl get nodes
Разполагане на под мрежа чрез главния възел
Подмрежата е средство за комуникация между възлите на мрежата. В този урок ние прилагаме Flannel pod мрежа в нашия клъстер чрез следната команда:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
За да разберете състоянието на мрежата, просто напишете:
kubectl get pods --all-namespaces sudo kubectl get nodes
След като това бъде направено, сега е време да добавите подчинения възел към мрежата, за да образувате клъстер, по същия начин, по който те трябва да допълват информацията, както в главния възел.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Сега, когато стартирате следната команда на главния възел, той ще потвърди, че два възела, главният възел и сървърните възли се изпълняват във вашата система.
sudo kubectl get nodes
Това показва, че клъстерът с два възела вече работи и работи през системата за управление на контейнери Kubernetes.