Kubernetes je otevřená platforma určená pro automatizaci nasazování, škálování a provozování aplikací v kontejnerech. Vytvoření a správa Kubernetes clusteru na CentOS 7 vyžaduje pečlivé plánování a konfiguraci. Tento článek poskytuje podrobný průvodce nastavením a konfigurací Kubernetes clusteru na systému CentOS 7.
Předpoklady
Před zahájením je důležité zajistit, že všechny servery (uzly), které budou součástí clusteru, splňují následující předpoklady:
- CentOS 7 nainstalovaný na všech uzlech.
- Minimálně 2GB RAM pro každý uzel (Master i Worker uzly).
- 2 CPU pro Master uzel.
- Plný síťový přístup mezi všemi uzly v clusteru.
- Vypnutý firewall nebo konfigurace pravidel pro povolení komunikace mezi uzly.
- Vypnutý SELinux nebo nastaven na permissivní režim.
- Nainstalovaný Docker jako kontejnerová platforma.
1. Příprava systému
Na všech uzlech proveďte následující kroky pro přípravu systému:
a. Nastavení hostname
hostnamectl set-hostname <hostname>
b. Konfigurace hostitelského souboru
Upravte soubor /etc/hosts
na všech uzlech tak, aby obsahoval IP adresy a hostname všech členů clusteru.
c. Vypnutí SELinux
setenforce 0
sed -i --follow-symlinks 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/sysconfig/selinux
d. Vypnutí firewallu
systemctl stop firewalld
systemctl disable firewalld
2. Instalace Dockeru
Docker je předpokladem pro běh kontejnerů. Na všech uzlech nainstalujte Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker
3. Přidání Kubernetes repozitáře
Na všech uzlech přidejte oficiální Kubernetes repozitář:
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
4. Instalace Kubernetes
Nainstalujte Kubernetes na všechny uzly:
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet
5. Inicializace Master uzlu
Na Master uzlu inicializujte cluster pomocí nástroje kubeadm
:
kubeadm init --pod-network-cidr=192.168.0.0/16
Po dokončení inicializace si zaznamenejte výstup příkazu, který obsahuje token pro připojení Worker uzlů.
6. Nastavení prostředí kubectl
Na Master uzlu nastavte kubectl pro interakci s clusterem:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
7. Nasazení síťového pluginu
Pro komunikaci mezi kontejnery je nutné nasadit síťový plugin, například Weave Net
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
8. Připojení Worker uzlů
Na každém Worker uzlu se připojte k clusteru pomocí tokenů získaných při inicializaci Master uzlu:
kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Po dokončení těchto kroků by měl být váš Kubernetes cluster na CentOS 7 funkční. Můžete začít nasazovat aplikace v kontejnerech a využívat možnosti Kubernetes pro jejich správu. Nezapomeňte pravidelně aktualizovat svůj cluster a monitorovat jeho výkon a bezpečnost.