Kubernetes ay isang libre at bukas na mapagkukunan ng sistema ng pamamahala ng lalagyan na nagbibigay ng isang platform para sa pag-automate ng paglawak, pag-scale, at pagpapatakbo ng mga lalagyan ng aplikasyon sa mga pangkat ng host computer.
Sa Kubernetes, maaari silang malayang magamit sa mga nasasakupang lugar, publiko, at hybrid na imprastrakturang ulap upang mapatakbo ang mga gawain sa pag-deploy ng kanilang samahan.
Pag-install ng Kubernetes sa Ubuntu at mga derivatives
Para sa isang praktikal na pag-install, gagamit kami ng isang two-node cluster na bubuo sa artikulong ito ay binubuo ng isang master node at isang slave node.
Ang parehong mga node ay kailangang magkaroon ng mga naka-install na Kubernetes sa kanila. Ang unang bagay na gagawin namin ay i-install ang docker sa kanilang dalawa, para dito kailangan lang naming patakbuhin ang sumusunod na utos sa kanila:
sudo apt install docker.io
Upang ma-verify na naka-install ang docker, maaari mong patakbuhin ang sumusunod na utos sa parehong mga node:
docker --version
Ngayon magpatuloy tayo upang paganahin ang docker sa parehong mga node:
sudo systemctl enable docker
Ngayon ang susunod na hakbang ay upang idagdag ang Kubernetes key sa parehong mga node, ginagawa namin ito sa sumusunod na utos:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Ang susunod na hakbang ay upang idagdag ang sumusunod na repository sa parehong mga system:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Ang huling hakbang sa proseso ng pag-install ay ang pag-install ng Kubeadm sa parehong mga node sa pamamagitan ng sumusunod na utos:
sudo apt install kubeadm
Maaari nilang suriin ang numero ng bersyon ng Kubeadm at i-verify din ang pag-install sa pamamagitan ng sumusunod na utos:
kubeadm version
Pag-deploy ng Kubernetes
Ngayon upang ipatupad ang pag-deploy ng Kubernetes sa system dapat nating huwag paganahin ang memorya ng pagpapalit (kung tumatakbo ito) sa parehong mga node
Dapat nilang hindi paganahin ang memorya ng pagpapalit sa parehong mga nodedahil ang Kubernetes ay hindi gumagana nang maayos sa isang system na gumagamit ng memorya ng pagpapalit.
Upang magawa ito, tumakbo lamang:
sudo swapoff -a
Ngayon ang susunod na hakbang ay patakbuhin ang sumusunod na utos sa master node upang bigyan ito ng isang natatanging hostname:
sudo hostnamectl set-hostname master-node
Habang para sa slave node dapat tayong mag-type:
sudo hostnamectl set-hostname slave-node
Tapos na ngayon vMagpatuloy tayo upang simulan ang master node gamit ang sumusunod na utos:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Ang proseso ay maaaring tumagal ng isang minuto o higit pa depende sa iyong koneksyon sa Internet. Ang output ng utos na ito ay napakahalaga kaya dapat mong isulat ang impormasyon sa output, dahil naglalaman ito ng ip, token at iba pa.
Upang simulang gamitin ang iyong kumpol, kailangan nilang patakbuhin ang sumusunod bilang isang regular na gumagamit:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Ngayon maaari silang sumali sa anumang bilang ng mga machine sa pamamagitan ng pagpapatakbo ng mga sumusunod sa bawat node bilang mga root user:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Kung saan papalitan nila ang impormasyon ng tutoken, tuip at iyong hash ng impormasyon na sinabi ilang sandali na ang nakakaraan na isusulat nila.
Pagkuha ng listahan ng mga node
Makikita mo na ang katayuan ng master node ay hindi pa handa. Ito ay dahil wala pang pod ang na-deploy sa master node at samakatuwid ang Container Network Interface ay walang laman.
Upang makita ang listahan mayroon lamang kaming isagawa:
kubectl get nodes
Pag-deploy ng isang pod network sa pamamagitan ng master node
Ang isang pod network ay isang paraan ng komunikasyon sa pagitan ng mga node sa isang network. Sa tutorial na ito, nagpapatupad kami ng isang Flannel pod network sa aming kumpol sa pamamagitan ng sumusunod na utos:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Upang malaman ang katayuan ng network, i-type lamang:
kubectl get pods --all-namespaces sudo kubectl get nodes
Kapag tapos na ito, oras na upang idagdag ang node ng alipin sa network upang bumuo ng isang kumpol, sa parehong paraan dapat nilang umakma ang impormasyon tulad ng sa master node.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Ngayon kapag pinatakbo mo ang sumusunod na utos sa master node makumpirma nito na dalawang mga node, ang master node at ang mga server node ay tumatakbo sa iyong system.
sudo kubectl get nodes
Ipinapakita nito na ang two-node cluster ay nasa ngayon at tumatakbo sa pamamagitan ng Kubernetes container management system.