Ce document explique comment créer et gérer des charges de travail sans état dans un cluster Kubernetes Google Distributed Cloud (GDC) sous air gap. Les charges de travail sans état vous permettent de mettre à l'échelle le déploiement de votre application en fonction des exigences de la charge de travail, sans avoir à gérer le stockage persistant dans un cluster Kubernetes pour stocker les données ou l'état de l'application. Ce document vous aide à vous lancer afin que vous puissiez optimiser et ajuster efficacement la disponibilité de votre application.
Ce document s'adresse aux développeurs du groupe d'opérateurs d'applications, qui sont chargés de créer des charges de travail d'application pour leur organisation. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.
Avant de commencer
Pour effectuer les tâches décrites dans ce document, vous devez disposer des ressources et des rôles suivants :
Pour exécuter des commandes sur un cluster Kubernetes, assurez-vous de disposer des ressources suivantes :
Recherchez le nom du cluster Kubernetes ou demandez-le à un membre du groupe des administrateurs de la plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.
Utilisez le chemin kubeconfig du cluster Kubernetes pour remplacer
KUBERNETES_CLUSTER_KUBECONFIGdans ces instructions.
Pour obtenir les autorisations requises pour créer des charges de travail sans état dans un cluster partagé, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle d'administrateur de l'espace de noms (
namespace-admin) dans l'espace de noms de votre projet.Pour obtenir les autorisations requises pour créer des charges de travail sans état dans un cluster standard, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur de cluster (
cluster-developer) dans un cluster standard.
Créer un déploiement
Pour créer un déploiement, écrivez un fichier manifeste Deployment et exécutez kubectl apply pour créer la ressource. Cette méthode conserve également les mises à jour apportées aux ressources actives sans fusionner les modifications dans les fichiers manifestes.
Pour créer un Deployment à partir de son fichier manifeste, exécutez la commande suivante :
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
Remplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG: fichier kubeconfig du cluster Kubernetes sur lequel vous déployez des charges de travail de conteneur.NAMESPACE: espace de noms dans lequel déployer les charges de travail du conteneur. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.DEPLOYMENT_NAME: nom de l'objetDeployment.APP_NAME: nom de l'application à exécuter dans le déploiement.NUMBER_OF_REPLICAS: nombre d'objetsPodrépliqués gérés par le déploiement.CONTAINER_NAME: nom du conteneur.CONTAINER_IMAGE: nom de l'image du conteneur. Vous devez inclure le chemin d'accès au registre de conteneurs et la version de l'image, par exempleREGISTRY_PATH/hello-app:1.0. Pour en savoir plus sur la définition du chemin d'accès au registre de conteneurs, consultez la présentation du service Managed Harbor.
Exemple :
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
Si vous déployez des charges de travail de GPU dans vos conteneurs, consultez Gérer les charges de travail de conteneurs GPU pour en savoir plus.
Étapes suivantes
- Inspecter les charges de travail sans état
- Mettre à jour les charges de travail sans état
- Gérer les pools de nœuds