Installera Kubernetes med kubespray
Steg-för-steg-instruktioner
Hur man installerar Kubernetes med Kubespray, inklusive att konfigurera miljön, ställa in inventeringen och köra Ansible-playböcker.

Förutsättningar
Hårdvara och programvarukrav
- Se till att du har flera maskiner (minst 3 noder: 1 master och 2 arbetare) med följande specifikationer:
- Ubuntu 16.04/18.04 eller CentOS 7 installerat.
- Minst 2 GB RAM per maskin (mer RAM rekommenderas för större kluster).
- Nätverksanslutning och SSH-åtkomst från Kubespray-kontrollmaskinen till varje nod.
- För hög tillgänglighet, överväg noder med 16 GB RAM, 100 GB disk och 6 CPU-kärnor.
Kontrollmaskinsinställning
-
Installera Git om det inte redan finns:
sudo apt install git-all -
Installera Python (2.7 eller 3.5+) och pip:
sudo apt update sudo apt install python3 python3-pip -
Installera Ansible och andra beroenden. Kubespray erbjuder ett skript för att hantera detta:
git clone https://github.com/kubernetes-sigs/kubespray.git cd kubespray git checkout release-2.20 # Valfritt: Checka ut en stabil version python3 -m venv venv # Skapa en Python-virtual miljö source venv/bin/activate # Aktivera den virtuella miljön pip install -r requirements.txt # Installera Ansible och andra beroenden
Konfigurera inventeringen
-
Kopiera exempelinventeringen:
cp -r inventory/sample inventory/mycluster -
Redigera filen
inventory/mycluster/hosts.iniför att lägga till dina noder:[all] node1 ansible_host=10.10.1.3 ansible_user=ubuntu node2 ansible_host=10.10.1.4 ansible_user=ubuntu node3 ansible_host=10.10.1.5 ansible_user=ubuntu [kube-master] node1 [kube-node] node2 node3 -
Om du har en annan användare, ersätt
ubuntumed din användare. -
Du kan också använda
inventory_builder-skriptet för att generera inventeringsfilen:declare -a IPS=(10.10.1.3 10.10.1.4 10.10.1.5) HOST_PREFIX=dcm-cp- KUBE_CONTROL_HOSTS=3 CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
Anpassa konfigurationen
-
Anpassa Kubernetes-klusterinställningarna i filen
inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml. Till exempel:kube_network_plugin: flannel kubeconfig_localhost: true -
För hög tillgänglighet, konfigurera en VIP och lastbalanserare:
# I inventory/mycluster/group_vars/all/all.yml kube_vip_arp_enabled: true kube_vip_enabled: true kube_vip_controlplane_enabled: true kube_vip_address: 10.7.12.250 # Uppdatera med rätt VIP kube_vip_interface: eno1 # Uppdatera med rätt gränssnitt
Distribuera klustret
- Kör Ansible-playboken för att distribuera Kubernetes:
ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v --become --become-user=root --private-key=~/.ssh/private_key
Efter distribution
- När distributionen är klar hittar du en
kubeconfig-fil i katalogeninventory/mycluster/artifacts. Denna fil är nödvändig för att interagera med ditt Kubernetes-kluster medkubectl.export KUBECONFIG=inventory/mycluster/artifacts/admin.conf kubectl get nodes
Felsökning och åtkomst
- För att felsöka eller komma åt ditt kluster, se till att du har
kubectl-binären installerad på din kontrollmaskin eller någon maskin där du planerar att hantera klustret från. - Om du stöter på problem som att arbetarnoder inte är redo eller andra pod-schemaläggningsproblem, kontrollera loggarna och justera konfigurationerna vid behov.