In dieser Übung werden Sie lernen, wie man einen Kubernetes-Cluster auf einem Cloud-Provider Ihrer Wahl erstellt. Wir werden Amazon Web Services (AWS), Google Cloud Platform (GCP) und Microsoft Azure als Beispiele verwenden. Diese Übung umfasst die folgenden Schritte:
Installieren Sie AWS CLI:
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /Konfigurieren Sie AWS CLI:
aws configureInstallieren Sie eksctl:
curl -s --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/binErstellen Sie einen EKS-Cluster:
eksctl create cluster --name my-eks-cluster --version 1.21 --region us-west-2 --nodegroup-name linux-nodes --node-type t2.micro --nodes 3 --nodes-min 1 --nodes-max 4 --managedInstallieren Sie gcloud CLI:
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud initAuthentifizieren Sie sich und wählen Sie Ihr Projekt:
gcloud auth login
gcloud config set project [PROJECT_ID]Erstellen Sie einen GKE-Cluster:
gcloud container clusters create my-gke-cluster --num-nodes=3 --zone=us-central1-aInstallieren Sie Azure CLI:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bashAuthentifizieren Sie sich:
az loginErstellen Sie eine Ressourcengruppe:
az group create --name myResourceGroup --location eastusErstellen Sie einen AKS-Cluster:
az aks create --resource-group myResourceGroup --name my-aks-cluster --node-count 3 --enable-addons monitoring --generate-ssh-keysKonfigurieren Sie kubectl, um auf den AKS-Cluster zuzugreifen:
az aks get-credentials --resource-group myResourceGroup --name my-aks-clusterUnabhängig vom gewählten Cloud-Provider, überprüfen Sie den Status Ihres Clusters mit den folgenden Befehlen:
Überprüfen Sie die Nodes:
kubectl get nodesÜberprüfen Sie die Pods im kube-system
Namespace:
kubectl get pods -n kube-systemErstellen Sie ein einfaches Nginx-Deployment:
Deployment-Datei
nginx-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Deployment anwenden:
kubectl apply -f nginx-deployment.yamlDeployment-Status überprüfen:
kubectl get deployments
kubectl get pods
kubectl get servicesIn dieser Übung haben Sie gelernt, wie man einen Kubernetes-Cluster auf verschiedenen Cloud-Providern erstellt und konfiguriert. Diese Fähigkeiten sind entscheidend für den Betrieb von Kubernetes in einer produktionsreifen Umgebung und bieten die Flexibilität, Cluster in verschiedenen Cloud-Umgebungen bereitzustellen.