Introduction à Kubernetes Kops pour les débutants
Publié: 2021-06-13Découvrons Kops, un outil d'opérations Kubernetes.
Kubernetes est l'un des outils DevOps les plus populaires en raison de son incroyable système d'orchestration de conteneurs et de ses fonctionnalités. Mais bien que Kubernetes offre tant de fonctionnalités, la mise en place d'un cluster Kubernetes à partir de zéro est pénible. C'est là que Kops entre en scène.
Avec Kops, il est facile de créer un cluster Kubernetes sur des fournisseurs de cloud comme AWS, Google Cloud, etc. Cela rend la configuration d'un cluster Kubernetes sans tracas, et dans cet article, je vais discuter de cet outil génial.
Qu'est-ce que Kops ?
Kops, également connu sous le nom d'opérations Kubernetes, est un projet Kubernetes officiel à source ouverte, qui vous permet de créer, de maintenir, de mettre à niveau et de détruire un cluster Kubernetes de production hautement disponible. Il fournit également l'infrastructure cloud en fonction des besoins. Les développeurs de Kops le décrivent comme kubectl pour les clusters Kubernetes.
Kops est principalement utilisé pour déployer des clusters AWS et GCE Kubernetes. Kops ne prend officiellement en charge qu'AWS, d'autres fournisseurs de cloud tels que DigitalOcean, GCE et OpenStack sont en phase bêta.
Si vous avez déjà travaillé sur kubectl, vous vous sentirez à l'aise de travailler sur Kops. Kops fournit des commandes pour créer, obtenir, mettre à jour et supprimer des clusters. De plus, Kops sait comment appliquer les changements dans les clusters existants car il utilise une configuration déclarative. Avec Kops, vous pouvez également faire évoluer un cluster Kubernetes.
Voici les caractéristiques de Kops :
- Déploie des maîtres Kubernetes avec une haute disponibilité
- Les mises à jour de cluster en continu sont prises en charge
- Automatise le provisionnement des clusters AWS et GCE Kubernetes
- Gère les modules complémentaires du cluster
- Auto-complétion de la commande dans la ligne de commande
- Génère les configurations CloudFormation et Terraform
- Prend en charge le modèle de synchronisation d'état pour les simulations et l'idempotence automatique
- Crée des groupes d'instances pour prendre en charge les clusters hétérogènes
Installation de Kops
Vous trouverez ci-dessous des étapes simples pour installer Kops sur un environnement Linux. J'utilise Ubuntu 20.x.
Tout d'abord, téléchargez Kops à partir du package de versions. La commande ci-dessous télécharge le dernier package de Kops.
geekflare@ip-170-11-26-119:~$ curl -Lo kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64 Saving to: 'kops-linux-amd64' 100%[=========================================================================================================================================================================>] 81,964,000 8.37MB/s in 7.1s 2021-06-10 16:23:19 (7.84 MB/s) - 'kops-linux-amd64' saved [81964000/81964000]
Vous devez fournir une autorisation exécutable au fichier kops que vous avez téléchargé et le déplacer vers le répertoire /usr/local/bin/.
geekflare@ip-170-11-26-119:~$ sudo chmod +x kops-linux-amd64 geekflare@ip-170-11-26-119:~$ sudo mv kops-linux-amd64 /usr/local/bin/kops
L'installation est terminée. Vous pouvez maintenant exécuter la commande kops pour vérifier l'installation.
geekflare@ip-170-11-26-119:~$ kops kops is Kubernetes ops. kops is the easiest way to get a production grade Kubernetes cluster up and running. We like to think of it as kubectl for clusters. kops helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported, with GCE and VMware vSphere in alpha support. Usage: kops [command] Available Commands: completion Output shell completion code for the given shell (bash or zsh). create Create a resource by command line, filename or stdin. delete Delete clusters,instancegroups, or secrets. describe Describe a resource. edit Edit clusters and other resources. export Export configuration. get Get one or many resources. import Import a cluster. replace Replace cluster resources. rolling-update Rolling update a cluster. toolbox Misc infrequently used commands. update Update a cluster. upgrade Upgrade a kubernetes cluster. validate Validate a kops cluster. version Print the kops version information. Flags: --alsologtostderr log to standard error as well as files --config string config file (default is $HOME/.kops.yaml) -h, --help help for kops --log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0) --log_dir string If non-empty, write log files in this directory --logtostderr log to standard error instead of files (default false) --name string Name of cluster --state string Location of state storage --stderrthreshold severity logs at or above this threshold go to stderr (default 2) -v, --v Level log level for V logs --vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging Use "kops [command] --help" for more information about a command.
Vérifiez la version de Kops pour vous assurer que Kops est correctement installé.
geekflare@ip-170-11-26-119:~$ kops version Version 1.20.1 (git-5a27dad)
Examinons maintenant quelques commandes Kops importantes qui sont largement utilisées par les administrateurs pour exécuter des opérations Kubernetes.
Commandes Kops
Vous trouverez ci-dessous les commandes Kops largement utilisées que vous devez connaître.
les kops créent
La commande kops create est utilisée pour enregistrer un cluster.
Syntaxe : kops create cluster <clustername>
Il existe de nombreux autres paramètres tels que la zone, la région, le type d'instance, le nombre de nœuds, etc., que vous pouvez ajouter en plus de la commande par défaut.
mise à jour des kops
La commande kops update est utilisée pour mettre à jour le cluster avec la spécification de cluster spécifiée.
Syntaxe : kops update cluster –name <clustername>
Vous pouvez exécuter cette commande en mode aperçu pour être plus sûr, et une fois que la sortie de l'aperçu correspond à vos attentes, vous pouvez exécuter la commande avec l'indicateur –yes pour appliquer les modifications au cluster.
les kops obtiennent
La commande kops get est utilisée pour lister tous les clusters.
Syntaxe : kops obtient des clusters
kops supprimer
La commande kops delete est utilisée pour supprimer un cluster spécifique du registre et toutes les ressources cloud affectées à ce cluster.
Syntaxe : kops delete cluster –name <clustername>
Tout comme la mise à jour, vous pouvez également exécuter cette commande en mode aperçu.
mise à jour continue de kops
La commande kops rolling-update est utilisée pour mettre à jour un cluster Kubernetes afin qu'il corresponde aux spécifications cloud et kops.
Syntaxe : kops rolling-update cluster –name <clustername>
Tout comme la mise à jour, vous pouvez également exécuter cette commande en mode aperçu.
kops valide
La commande kops validate valide si le cluster que vous avez créé est actif ou non. Par exemple, si les pods et les nœuds sont en attente, la commande validate renverra que le cluster n'est pas encore sain.
Syntaxe : kops validate cluster –wait <specified_time>
Cette commande attendra et validera le cluster pendant le temps spécifié. Ainsi, si vous souhaitez valider le cluster pendant cinq minutes, exécutez la commande avec 5m comme durée spécifiée.
C'était tout sur les fondamentaux de Kops, laissez-moi maintenant vous montrer comment créer un cluster Kubernetes sur AWS à l'aide de Kops.
Configurer Kubernetes sur AWS à l'aide de Kops
Avant de commencer les étapes mentionnées ci-dessous, voici quelques prérequis :
- Ubuntu 20.04
- CLI AWS
- Configurer AWS
Installation de kubectl
Tout d'abord, je vais installer kubectl.
Kubectl est utilisé pour exécuter des commandes de ligne de commande sur des clusters Kubernetes. Téléchargez un package kubectl.
geekflare@ip-170-11-26-119:~$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 39.6M 100 39.6M 0 0 6988k 0 0:00:07 0:00:07 --:--:-- 6988k
Vous devez fournir une autorisation exécutable au fichier téléchargé et le déplacer vers le répertoire /usr/local/bin/.
geekflare@ip-170-11-26-119:~$ chmod +x ./kubectl geekflare@ip-170-11-26-119:~$ sudo mv ./kubectl /usr/local/bin/kubectl
Créer un compartiment S3
Une fois que vous avez installé et configuré l'AWS CLI sur votre machine Linux, vous pourrez exécuter des commandes aws
. J'ai aws cli installé sur mon système Ubuntu, alors laissez-moi exécuter une commande simple qui répertoriera tous les compartiments dans S3.
geekflare@ip-170-11-26-119:~$ aws s3 ls
Il sera vide car je n'ai pas de compartiment s3 pour le moment. Permettez-moi de vérifier si une instance ec2 est en cours d'exécution.
geekflare@ip-170-11-26-119:~$ aws ec2 describe-instances { "Reservations": [] }
Cela signifie qu'aucune instance ec2 n'est en cours d'exécution pour le moment.
Vous devez maintenant créer un compartiment s3 dans lequel Kops enregistrera toutes les informations d'état du cluster. Ici, je crée un compartiment s3 dans la région us-west-2 avec le nom geekkops-bucket-1132. Vous pouvez utiliser LocationConstraint pour éviter toute erreur avec la région.
geekflare@ip-170-11-26-119:~$ aws s3api create-bucket --bucket geekkops-bucket-1132 --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2 { "Location": "http://geekkops-bucket-1132.s3.amazonaws.com/" }
Si je répertorie à nouveau le aws s3 bucket
, j'obtiendrai le compartiment que je viens de créer.
geekflare@ip-170-11-26-119:~$ aws s3 ls 2021-06-10 16:30:13 geekkops-bucket-1132
Exécutez la commande ci-dessous pour activer la version du compartiment s3.
geekflare@ip-170-11-26-119:~$ aws s3api put-bucket-versioning --bucket geekkops-bucket-1132 --versioning-configuration Status=Enabled
Générer la clé
Générez la clé ssh qui sera utilisée par Kops pour la connexion au cluster et la génération de mot de passe.
geekflare@ip-170-11-26-119:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_rsa. Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub. The key fingerprint is: SHA256:fH4JCBXMNRqzk1hmoK+cXmwSFaeBsuGBA5IWMkNuvq0 geekflare@ip-170-11-26-119 The key's randomart image is: +---[RSA 2048]----+ |O=. .++Xoo | |B++ .. @o* . | |.= =. = = | |ooooo | | . . . S o | | o. = o . . | | . .= + . o | | .. + . | | E . | +----[SHA256]-----+
Exporter les variables d'environnement
Exposez le nom du cluster et le compartiment s3 en tant que variables d'environnement. Cela ne sera applicable que pour la session en cours. J'utilise le suffixe '.k8s.local' car je n'utilise aucun DNS préconfiguré.

geekflare@ip-170-11-26-119:~$ export KOPS_CLUSTER_NAME=geekdemo1.k8s.local geekflare@ip-170-11-26-119:~$ export KOPS_STATE_STORE=s3://geekkops-bucket-1132
Créer le cluster
Utilisez la commande kops create pour créer le cluster. Vous trouverez ci-dessous les paramètres que j'utilise pour créer un cluster Kubernetes sur AWS à l'aide de Kops :
-
--cloud
indique au fournisseur de cloud que j'utilise -
--zones
est la zone où l'instance de cluster sera déployée -
--node-count
est le nombre de nœuds à déployer dans le cluster Kubernetes -
--node-size
et--master-size
sont les types d'instance ec2, j'utilise les micro instances -
--name
est le nom du cluster
geekflare@ip-170-11-26-119:~$ kops create cluster --cloud=aws --zones=eu-central-1a --node-count=1 --node-size=t2.micro --master-size=t2.micro --name=${KOPS_CLUSTER_NAME} I0216 16:35:24.225238 4326 subnets.go:180] Assigned CIDR 172.20.32.0/19 to subnet eu-central-1a I0216 16:35:24.068088 4326 create_cluster.go:717] Using SSH public key: /home/ubuntu/.ssh/id_rsa.pub Previewing changes that will be made: I0216 16:35:24.332590 4326 apply_cluster.go:465] Gossip DNS: skipping DNS validation I0216 16:35:24.392712 4326 executor.go:111] Tasks: 0 done / 83 total; 42 can run W0216 16:35:24.792113 4326 vfs_castore.go:604] CA private key was not found I0216 16:35:24.938057 4326 executor.go:111] Tasks: 42 done / 83 total; 17 can run I0216 16:35:25.436407 4326 executor.go:111] Tasks: 59 done / 83 total; 18 can run I0216 16:35:25.822395 4326 executor.go:111] Tasks: 77 done / 83 total; 2 can run I0216 16:35:25.823088 4326 executor.go:111] Tasks: 79 done / 83 total; 2 can run I0216 16:35:26.406919 4326 executor.go:111] Tasks: 81 done / 83 total; 2 can run I0216 16:35:27.842148 4326 executor.go:111] Tasks: 83 done / 83 total; 0 can run LaunchTemplate/master-eu-central-1a.masters.geekdemo1.k8s.local AssociatePublicIP true HTTPPutResponseHopLimit 1 HTTPTokens optional IAMInstanceProfile name:masters.geekdemo1.k8s.local id:masters.geekdemo1.k8s.local ImageID 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210119.1 InstanceType t2.micro RootVolumeSize 64 RootVolumeType gp2 RootVolumeEncryption false RootVolumeKmsKey SSHKey name:kubernetes.geekdemo1.k8s.local-3e:19:92:ca:dd:64:d5:cf:ff:ed:3a:92:0f:40:d4:e8 id:kubernetes.geekdemo1.k8s.local-3e:19:92:ca:dd:64:d5:cf:ff:ed:3a:92:0f:40:d4:e8 SecurityGroups [name:masters.geekdemo1.k8s.local] SpotPrice Tags {k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role: master, k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/instancegroup: master-eu-central-1a, k8s.io/role/master: 1, kops.k8s.io/instancegroup: master-eu-central-1a, Name: master-eu-central-1a.masters.geekdemo1.k8s.local, KubernetesCluster: geekdemo1.k8s.local, kubernetes.io/cluster/geekdemo1.k8s.local: owned, k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master: } Subnet/eu-central-1a.geekdemo1.k8s.local ShortName eu-central-1a VPC name:geekdemo1.k8s.local AvailabilityZone eu-central-1a CIDR 172.20.32.0/19 Shared false Tags {KubernetesCluster: geekdemo1.k8s.local, kubernetes.io/cluster/geekdemo1.k8s.local: owned, SubnetType: Public, kubernetes.io/role/elb: 1, Name: eu-central-1a.geekdemo1.k8s.local} VPC/geekdemo1.k8s.local CIDR 172.20.0.0/16 EnableDNSHostnames true EnableDNSSupport true Shared false Tags {kubernetes.io/cluster/geekdemo1.k8s.local: owned, Name: geekdemo1.k8s.local, KubernetesCluster: geekdemo1.k8s.local} VPCDHCPOptionsAssociation/geekdemo1.k8s.local VPC name:geekdemo1.k8s.local DHCPOptions name:geekdemo1.k8s.local Must specify --yes to apply changes Cluster configuration has been created. Suggestions: * list clusters with: kops get cluster * edit this cluster with: kops edit cluster geekdemo1.k8s.local * edit your node instance group: kops edit ig --name=geekdemo1.k8s.local nodes-eu-central-1a * edit your master instance group: kops edit ig --name=geekdemo1.k8s.local master-eu-central-1a Finally configure your cluster with: kops update cluster --name geekdemo1.k8s.local --yes –admin
Exécutez la commande kops get pour voir si le cluster a été créé.
geekflare@ip-170-11-26-119:~$ kops get cluster NAME CLOUD ZONES geekdemo1.k8s.local aws eu-central-1a
Mettre à jour le cluster
Pour appliquer les spécifications de cluster spécifiées au cluster, exécutez la commande kops update.
geekflare@ip-170-11-26-119:~$ kops update cluster --name geekdemo1.k8s.local --yes --admin I0216 16:38:16.800767 4344 apply_cluster.go:465] Gossip DNS: skipping DNS validation I0216 16:38:16.919282 4344 executor.go:111] Tasks: 0 done / 83 total; 42 can run W0216 16:38:17.343336 4344 vfs_castore.go:604] CA private key was not found I0216 16:38:18.421652 4344 keypair.go:195] Issuing new certificate: "etcd-clients-ca" I0216 16:38:18.450699 4344 keypair.go:195] Issuing new certificate: "etcd-peers-ca-main" I0216 16:38:19.470785 4344 keypair.go:195] Issuing new certificate: "etcd-manager-ca-main" I0216 16:38:19.531852 4344 keypair.go:195] Issuing new certificate: "etcd-peers-ca-events" I0216 16:38:19.551601 4344 keypair.go:195] Issuing new certificate: "apiserver-aggregator-ca" I0216 16:38:19.571834 4344 keypair.go:195] Issuing new certificate: "etcd-manager-ca-events" I0216 16:38:19.592090 4344 keypair.go:195] Issuing new certificate: "master" W0216 16:38:19.652894 4344 vfs_castore.go:604] CA private key was not found I0216 16:38:19.653013 4344 keypair.go:195] Issuing new certificate: "ca" I0216 16:38:24.344075 4344 executor.go:111] Tasks: 42 done / 83 total; 17 can run I0216 16:38:24.306125 4344 executor.go:111] Tasks: 59 done / 83 total; 18 can run I0216 16:38:26.189798 4344 executor.go:111] Tasks: 77 done / 83 total; 2 can run I0216 16:38:26.190464 4344 executor.go:111] Tasks: 79 done / 83 total; 2 can run I0216 16:38:26.738600 4344 executor.go:111] Tasks: 81 done / 83 total; 2 can run I0216 16:38:28.810100 4344 executor.go:111] Tasks: 83 done / 83 total; 0 can run I0216 16:38:29.904257 4344 update_cluster.go:313] Exporting kubecfg for cluster kops has set your kubectl context to geekdemo1.k8s.local Cluster is starting. It should be ready in a few minutes. Suggestions: * validate cluster: kops validate cluster --wait 10m * list nodes: kubectl get nodes --show-labels * ssh to the master: ssh -i ~/.ssh/id_rsa [email protected] * the ubuntu user is specific to Ubuntu. If not using Ubuntu please use the appropriate user based on your OS. * read about installing addons at: https://kops.sigs.k8s.io/operations/addons.
Si vous vérifiez immédiatement que les nœuds Kubernetes sont en cours d'exécution ou non, vous obtiendrez une erreur. Vous devez être un peu patient et attendre quelques minutes (5-10) jusqu'à ce que le cluster soit créé.
geekflare@ip-170-11-26-119:~$ kubectl get nodes Unable to connect to the server: dial tcp: lookup api-geekdemo1-k8s-local-dason2-1001342368.eu-central-1.elb.amazonaws.com on 127.0.0.53:53: no such host
Valider le cluster
J'exécute la commande de validation pendant 5 minutes pour vérifier si le cluster est opérationnel et sain ou non. Dans la sortie de validation, vous pourrez voir les détails du nœud lorsqu'ils sont activés.
geekflare@ip-170-11-26-119:~$ kops validate cluster --wait 5m Validating cluster geekdemo1.k8s.local INSTANCE GROUPS NAME ROLE MACHINETYPE MIN MAX SUBNETS master-eu-central-1a Master t2.micro 1 1 eu-central-1a nodes-eu-central-1a Node t2.micro 1 1 eu-central-1a
Lister les nœuds et les pods
Exécutez maintenant la commande ci-dessous pour vérifier si tous les nœuds sont prêts et en cours d'exécution. Vous pouvez voir que le maître et le nœud sont prêts.
geekflare@ip-170-11-26-119:~$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-173-19-35-156.eu-central-1.compute.internal Ready master 10m v1.20.1 ip-172-36-23-149.eu-central-1.compute.internal Ready node 5m38s v1.20.1
Vous pouvez vérifier tous les pods en cours d'exécution dans le cluster Kubernetes.
geekflare@ip-170-11-26-119:~$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system dns-controller-8d8889c4b-xp9dl 1/1 Running 0 8m26s kube-system etcd-manager-events-ip-173-19-35-156.eu-central-1.compute.internal 1/1 Running 0 10m kube-system etcd-manager-main-ip-173-19-35-156.eu-central-1.compute.internal 1/1 Running 0 10m kube-system kops-controller-9skdk 1/1 Running 3 6m51s kube-system kube-apiserver-ip-173-19-35-156.eu-central-1.compute.internal 2/2 Running 0 10m kube-system kube-controller-manager-ip-173-19-35-156.eu-central-1.compute.internal 1/1 Running 6 10m kube-system kube-dns-696cb84c7-g8nhb 3/3 Running 0 4m27s kube-system kube-dns-autoscaler-55f8f75459-zlxbr 1/1 Running 0 7m18s kube-system kube-proxy-ip-173-19-35-156.eu-central-1.compute.internal 1/1 Running 0 10m kube-system kube-proxy-ip-172-36-23-149.eu-central-1.compute.internal 1/1 Running 0 7m2s kube-system kube-scheduler-ip-173-19-35-156.eu-central-1.compute.internal 1/1 Running 5 10m
Supprimer le cluster
Tout comme la création d'un cluster Kubernetes, la suppression d'un cluster Kubernetes à l'aide de Kops est très simple. Cette commande kops delete supprimera toutes les ressources cloud du cluster et le registre du cluster lui-même.
geekflare@ip-170-11-26-119:~$ kops delete cluster --name geekdemo1.k8s.local --yes TYPE NAME ID autoscaling-config master-eu-central-1a.masters.geekdemo1.k8s.local lt-0cc11aec1943204e4 autoscaling-config nodes-eu-central-1a.geekdemo1.k8s.local lt-0da65d2eaf6de9f5c autoscaling-group master-eu-central-1a.masters.geekdemo1.k8s.local master-eu-central-1a.masters.geekdemo1.k8s.local autoscaling-group nodes-eu-central-1a.geekdemo1.k8s.local nodes-eu-central-1a.geekdemo1.k8s.local dhcp-options geekdemo1.k8s.local dopt-0403a0cbbfbc0c72b iam-instance-profile masters.geekdemo1.k8s.local masters.geekdemo1.k8s.local iam-instance-profile nodes.geekdemo1.k8s.local nodes.geekdemo1.k8s.local iam-role masters.geekdemo1.k8s.local masters.geekdemo1.k8s.local iam-role nodes.geekdemo1.k8s.local nodes.geekdemo1.k8s.local instance master-eu-central-1a.masters.geekdemo1.k8s.local i-069c73f2c23eb502a instance nodes-eu-central-1a.geekdemo1.k8s.local i-0401d6b0d4fc11e77 iam-instance-profile:nodes.geekdemo1.k8s.local ok load-balancer:api-geekdemo1-k8s-local-dason2 ok iam-instance-profile:masters.geekdemo1.k8s.local ok iam-role:masters.geekdemo1.k8s.local ok instance:i-069c73f2c23eb502a ok autoscaling-group:nodes-eu-central-1a.geekdemo1.k8s.local ok iam-role:nodes.geekdemo1.k8s.local ok instance:i-0401d6b0d4fc11e77 ok autoscaling-config:lt-0cc11aec1943204e4 ok autoscaling-config:lt-0da65d2eaf6de9f5c ok autoscaling-group:master-eu-central-1a.masters.geekdemo1.k8s.local ok keypair:key-0d82g920j421b89dn ok Deleted kubectl config for geekdemo1.k8s.local Deleted cluster: "geekdemo1.k8s.local"
Conclusion
J'espère que cet article sur Kops vous a été utile et que vous avez appris quelque chose de nouveau aujourd'hui. Kops est un outil fantastique pour travailler avec Kubernetes sur le cloud. Alors allez-y et essayez les étapes mentionnées dans cet article et configurez votre cluster Kubernetes sur AWS à l'aide de Kops.