Auf dieser Seite wird erläutert, wie Sie zustandslose Arbeitslasten in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) ohne Internetverbindung erstellen und verwalten. Mit zustandslosen Arbeitslasten können Sie die Bereitstellung Ihrer Anwendung basierend auf den Anforderungen der Arbeitslast skalieren, ohne dass Sie nichtflüchtigen Speicher in einem Kubernetes-Cluster verwalten müssen, um Daten oder den Anwendungsstatus zu speichern. Auf dieser Seite finden Sie Informationen für die ersten Schritte, damit Sie die Verfügbarkeit Ihrer Anwendung effizient optimieren und anpassen können.
Diese Seite richtet sich an Entwickler in der Gruppe der Anwendungsbetreiber, die für die Erstellung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie in der Dokumentation zu Zielgruppen für GDC-Air-Gap-Umgebungen.
Hinweise
Wenn Sie Befehle für einen Kubernetes-Cluster ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie Ihren Plattformadministrator danach.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster, falls Sie noch keine haben.
Verwenden Sie den kubeconfig-Pfad des Kubernetes-Clusters, um
KUBERNETES_CLUSTER_KUBECONFIG
in dieser Anleitung zu ersetzen.
Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Namespace Admin“ (namespace-admin
) in Ihrem Projekt-Namespace zuzuweisen, um die erforderlichen Berechtigungen zum Erstellen zustandsloser Workloads zu erhalten.
Deployment erstellen
Sie erstellen ein Deployment, indem Sie ein Deployment
-Manifest schreiben und kubectl apply
ausführen, um die Ressource zu erstellen. Diese Methode behält auch Aktualisierungen bei, die an aktiven Ressourcen vorgenommen wurden, ohne die Änderungen in die Manifestdateien zu übernehmen.
Führen Sie folgenden Befehl aus, um ein Deployment
aus der Manifestdatei zu erstellen:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: DEPLOYMENT_NAME
spec:
replicas: NUMBER_OF_REPLICAS
selector:
matchLabels:
run: APP_NAME
template:
metadata:
labels: # The labels given to each pod in the deployment, which are used
# to manage all pods in the deployment.
run: APP_NAME
spec: # The pod specification, which defines how each pod runs in the deployment.
containers:
- name: CONTAINER_NAME
image: CONTAINER_IMAGE
EOF
Ersetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG
: Die kubeconfig-Datei für den Kubernetes-Cluster, in dem Sie Container-Arbeitslasten bereitstellen.NAMESPACE
: der Projekt-Namespace, in dem die Container-Arbeitslasten bereitgestellt werden sollen.DEPLOYMENT_NAME
: Die kubeconfig-Datei für den Cluster, in dem Sie Containerarbeitslasten bereitstellen.APP_NAME
: Der Name der Anwendung, die in der Bereitstellung ausgeführt werden soll.NUMBER_OF_REPLICAS
: die Anzahl der repliziertenPod
-Objekte, die vom Deployment verwaltet werden.CONTAINER_NAME
: der Name des Containers.CONTAINER_IMAGE
ist der Name des Container-Images. Sie müssen den Container-Registry-Pfad und die Version des Images angeben, z. B.REGISTRY_PATH/hello-app:1.0
.
Beispiel:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
run: my-app
template:
metadata:
labels:
run: my-app
spec:
containers:
- name: hello-app
image: REGISTRY_PATH/hello-app:1.0
Wenn Sie GPU-Arbeitslasten in Ihren Containern bereitstellen, finden Sie weitere Informationen unter GPU-Containerarbeitslasten verwalten.