Migration vers des grappes natives du réseau en nuage virtuel
Découvrez comment migrer une grappe pour intégrer son point d'extrémité d'API Kubernetes dans votre propre VCN, à l'aide de Kubernetes Engine (OKE).
Dans les versions antérieures (avant le 16 mars 2021), Kubernetes Engine provisionnait des grappes avec des points d'extrémité d'API Kubernetes qui n'étaient pas intégrés à votre propre VCN. Le point d'extrémité de l'API Kubernetes était public et vous ne pouviez pas en restreindre l'accès. Vous pouvez continuer à créer de telles grappes à l'aide de la CLI ou de l'API, mais pas de la console.
Après le 16 mars 2021, Kubernetes Engine peut provisionner des grappes avec leurs points d'extrémité d'API Kubernetes dans un sous-réseau de votre propre VCN (ces grappes sont appelées "grappes natives de VCN"). Vous disposez de plus de flexibilité pour configurer des grappes natives de VCN afin de répondre à vos propres exigences en matière de sécurité et de réseau. Vous pouvez configurer le point d'extrémité de l'API Kubernetes pour qu'il soit accessible de manière privée au sein de votre VCN (et d'un réseau appairé sur place), ou pour qu'il soit accessible de manière publique à partir d'Internet :
- Pour rendre le point d'extrémité de l'API Kubernetes accessible de manière privée, hébergez-le dans un sous-réseau privé et n'affectez pas d'adresse IP publique.
- Pour rendre le point d'extrémité de l'API Kubernetes accessible publiquement à partir d'Internet, hébergez-le dans un sous-réseau public et affectez-lui une adresse IP publique.
Vous pouvez contrôler l'accès au sous-réseau de point d'extrémité de l'API Kubernetes à l'aide de règles de sécurité définies pour les groupes de sécurité de réseau (recommandé) ou les listes de sécurité.
Pour tirer parti du contrôle de sécurité offert par les grappes natives de VCN, vous pouvez migrer une grappe existante afin d'intégrer son point d'extrémité d'API Kubernetes à votre propre VCN.
La migration de grappe comprend les étapes suivantes :
- Étape 1 : Migration en cours
Vous commencez la migration en sélectionnant la grappe à migrer, puis en spécifiant le VCN existant et le sous-réseau privé ou public pour héberger le nouveau point d'extrémité d'API Kubernetes. La migration dure généralement environ 15 minutes.
Pendant ce temps, l'API Kubernetes continue d'être accessible au moyen du point d'extrémité public qui n'est pas intégré à votre propre VCN. Toutefois, les opérations de cycle de vie de grappe (telles que les mises à jour de grappe, la création et la suppression de groupes de noeuds) ne sont pas disponibles.
- Étape 2 : La migration est terminée et en attente de la mise hors service du point d'extrémité de l'API Kubernetes public qui n'est pas intégré à votre propre VCN
Une fois la migration terminée, la grappe devient accessible au moyen du nouveau point d'extrémité de l'API Kubernetes dans votre propre VCN, ainsi qu'au moyen du point d'extrémité public de l'API Kubernetes qui n'est pas intégré à votre VCN. Au cours de cette période de déclassement, mettez à jour la configuration de vos pipelines kubectl, d'outils et d'intégration et de développement en continu pour utiliser le nouveau point d'extrémité de l'API Kubernetes. Par défaut, vous disposez de 30 jours pour effectuer les mises à jour, mais vous pouvez réduire la période de mise hors service à 5 jours ou l'augmenter à plus de 30 jours. Déposez un billet de soutien si vous voulez réduire ou augmenter le temps avant que le point d'extrémité de l'API Kubernetes publique qui n'est pas intégré à votre propre réseau VCN ne soit mis hors service.
- Étape 3 : Le point d'extrémité d'API Kubernetes public qui n'est pas intégré à votre propre réseau VCN est mis hors service
À la fin de la période de mise hors service (30 jours après la migration ou le moment où vous demandez), la grappe cesse d'être accessible au moyen du point d'extrémité public de l'API Kubernetes qui n'est pas intégré à votre réseau VCN. La grappe n'est accessible qu'au moyen du nouveau point d'extrémité d'API Kubernetes intégré à votre réseau VCN.
Migration d'une grappe existante en tant que grappe native du VCN
Pour migrer une grappe existante afin d'intégrer son point d'extrémité d'API Kubernetes dans votre propre VCN :
- Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Conteneurs et artefacts, sélectionnez Grappes Kubernetes (OKE).
-
Sélectionnez un compartiment que vous êtes autorisé à utiliser.
Les étiquettes Migration requise apparaissent dans la page Liste de grappes à côté des noms des grappes avec des points d'extrémité d'API Kubernetes qui ne sont pas intégrés à votre VCN.
-
Dans la page Liste de regroupements, sélectionnez le nom de la grappe à migrer.
Lorsque vous sélectionnez une grappe que vous pouvez migrer, le bouton Migrer la grappe s'affiche en haut de la page Détails de la grappe.
- Si vous voulez que le point d'extrémité de l'API Kubernetes de la grappe soit accessible publiquement à partir d'Internet et hébergé dans un nouveau sous-réseau public dans le même VCN que la grappe (création et configuration de nouvelles ressources de réseau selon les besoins), effectuez une migration automatique comme suit :
- En haut de la page Détails de la grappe, sélectionnez Migrer la grappe pour intégrer le point d'extrémité de l'API Kubernetes de la grappe dans votre propre VCN.
- Dans la boîte de dialogue Migrer vers une grappe native du réseau en nuage virtuel (VCN), sélectionnez Migration automatique pour créer un nouveau sous-réseau régional dans le VCN de la grappe avec un bloc CIDR 10.0.0.0/28, ainsi que des listes de sécurité et des tables de routage.
- Sélectionnez Lancer le flux de travail et vérifiez le sommaire de migration dans la boîte de dialogue Migration de grappe de points d'extrémité natifs de VCN.
- Sélectionnez Migrer pour créer de nouvelles ressources de réseau et migrer la grappe.
Kubernetes Engine commence la migration de la grappe, comme illustré dans la boîte de dialogue Migration de grappe.
- Sélectionnez Fermer pour fermer la boîte de dialogue Migration de grappe.
- Si vous voulez que le point d'extrémité de l'API Kubernetes de la grappe soit accessible en privé dans votre VCN ou accessible publiquement à partir d'Internet, et hébergé dans un sous-réseau public ou privé régional existant dans le même VCN que la grappe, effectuez une migration personnalisée comme suit :
- Vérifiez que les ressources de réseau suivantes existent déjà dans le VCN et qu'elles sont configurées correctement pour héberger le point d'extrémité de l'API Kubernetes (si ce n'est pas le cas, créez-les et configurez-les de manière appropriée) :
- un sous-réseau public ou privé régional (voir Configuration du sous-réseau du point d'extrémité de l'API Kubernetes)
- si le sous-réseau est public, une passerelle Internet (voir Configuration d'une passerelle Internet)
- si le sous-réseau est privé, une passerelle NAT (voir Configuration d'une passerelle NAT) et une passerelle de service (voir Configuration d'une passerelle de service)
- une table de routage avec les règles de routage nécessaires (voir Table de routage pour les sous-réseaux de point d'extrémité d'API Kubernetes)
- un groupe de sécurité de réseau (recommandé) ou une liste de sécurité avec les règles de trafic entrant et sortant nécessaires (voir Règles de sécurité pour le point d'extrémité de l'API Kubernetes)
Par exemple, des configurations, voir Exemples de configurations de ressources de réseau.
- En haut de la page Détails de la grappe, sélectionnez Migrer la grappe pour intégrer le point d'extrémité de l'API Kubernetes de la grappe dans votre propre VCN.
- Dans la boîte de dialogue Migrer vers une grappe native du réseau en nuage virtuel (VCN), sélectionnez Migration personnalisée.
- Sélectionnez Lancer le flux de travail et spécifiez :
- Sous-réseau de point d'extrémité d'API Kubernetes : Sous-réseau régional qui héberge le point d'extrémité de l'API Kubernetes de la grappe. Le sous-réseau que vous spécifiez peut être public ou privé. Une adresse IP privée est toujours affectée au point d'extrémité de l'API Kubernetes. Si vous spécifiez un sous-réseau public, vous pouvez éventuellement exposer le point d'extrémité de l'API Kubernetes à Internet en affectant une adresse IP publique au point d'extrémité (ainsi que l'adresse IP privée). Pour simplifier la gestion des accès, Oracle recommande que le point d'extrémité de l'API Kubernetes se trouve dans un sous-réseau différent des noeuds de travail et des équilibreurs de charge. Pour plus d'informations, voir Plan de contrôle de grappe Kubernetes et API Kubernetes.
- Utiliser les groupes de sécurité de réseau pour contrôler le trafic : Facultativement, limitez l'accès au point d'extrémité de l'API Kubernetes de la grappe à l'aide d'un ou plusieurs groupes de sécurité de réseau que vous spécifiez. Pour plus d'informations sur les règles de sécurité à spécifier pour le groupe de sécurité de réseau, voir Règles de sécurité pour le point d'extrémité de l'API Kubernetes.
- Affecter une adresse IP publique au point d'extrémité d'API : Si vous avez sélectionné un sous-réseau public pour le point d'extrémité de l'API Kubernetes, vous pouvez éventuellement exposer le point d'extrémité à Internet en affectant une adresse IP publique au point d'extrémité (ainsi qu'une adresse IP privée). Si vous n'affectez pas d'adresse IP publique, mettez à jour les règles de routage et les règles de sécurité pour permettre l'accès au point d'extrémité à l'aide d'une passerelle de service et d'une passerelle NAT (voir Configuration du sous-réseau du point d'extrémité de l'API Kubernetes).
- Sélectionnez Migrer pour créer de nouvelles ressources de réseau et migrer la grappe.
Le moteur Kubernetes commence la migration de la grappe.
- Vérifiez que les ressources de réseau suivantes existent déjà dans le VCN et qu'elles sont configurées correctement pour héberger le point d'extrémité de l'API Kubernetes (si ce n'est pas le cas, créez-les et configurez-les de manière appropriée) :
La migration prend généralement environ 15 minutes. Pendant ce temps, l'API Kubernetes continue d'être accessible au moyen du point d'extrémité public qui n'est pas intégré à votre propre VCN. Toutefois, les opérations de cycle de vie de grappe (telles que les mises à jour de grappe, la création et la suppression de groupes de noeuds) ne sont pas disponibles.
Une fois la migration terminée, la page Détails de la grappe affiche le nom du sous-réseau de point d'extrémité de l'API Kubernetes, l'adresse IP du point d'extrémité privé de l'API Kubernetes et (si vous avez affecté une adresse IP publique au point d'extrémité de l'API Kubernetes) l'adresse IP du point d'extrémité public de l'API Kubernetes.
La page Détails de la grappe indique également que vous disposez de 30 jours pour mettre à jour la configuration de vos pipelines kubectl, outils et intégration et développement en continu afin d'accéder au nouveau point d'extrémité d'API Kubernetes (voir Configuration de l'accès à une grappe migrée). Pendant cette période de mise hors service, la grappe nouvellement migrée est accessible au moyen du nouveau point d'extrémité d'API Kubernetes dans votre VCN et au moyen du point d'extrémité d'API Kubernetes public qui n'est pas intégré à votre propre VCN.
Configuration de l'accès à une grappe migrée
Après avoir migré une grappe pour intégrer son point d'extrémité d'API Kubernetes dans votre propre VCN, vous devez mettre à jour la configuration de vos kubectl, outils et pipelines d'intégration et de développement en continu pour utiliser le nouveau point d'extrémité d'API Kubernetes. Au minimum, vous voulez mettre à jour le fichier de configuration Kubernetes de la grappe (communément appelé fichier 'kubeconfig') pour permettre l'accès à la grappe migrée à l'aide de kubectl, comme décrit dans cette rubrique. Vous devez également mettre à jour tous les fichiers manifestes qui incluent des références à l'adresse IP du point d'extrémité de l'API Kubernetes de la grappe.
Suivez les instructions de cette rubrique pour générer un nouveau fichier kubeconfig. Ces instructions supposent que le fichier kubeconfig de la grappe est enregistré à l'emplacement par défaut ($HOME/.kube
) et avec le nom par défaut (config
). Si ce n'est pas le cas, adaptez les instructions en conséquence.
-
Dans la fenêtre de terminal où vous exécutez normalement les commandes de l'interface de ligne de commande Oracle Cloud Infrastructure, exécutez la commande suivante pour mettre à jour le fichier kubeconfig existant de la grappe :
oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --file <kubeconfig-file-location> --region <region-name> --token-version 2.0.0 --kube-endpoint PRIVATE_ENDPOINT|PUBLIC_ENDPOINT
où :
--cluster-id <cluster-ocid>
est l'OCID de la grappe existante que vous voulez rendre native pour le VCN.--file <kubeconfig-file-location>
est l'emplacement du fichier kubeconfig de la grappe.--region <region-name>
est la région dans laquelle se trouve la grappe.--kube-endpoint PRIVATE_ENDPOINT|PUBLIC_ENDPOINT
indique si l'adresse IP privée ou l'adresse IP publique du point d'extrémité de l'API Kubernetes de la grappe doit être ajoutée au fichier kubeconfig. Pour plus d'informations, voir Plan de contrôle de grappe Kubernetes et API Kubernetes.
Par exemple :
oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae... --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT
En supposant que le fichier kubeconfig existe déjà à l'emplacement spécifié, les détails de la grappe sont ajoutés en tant que nouveau contexte au fichier kubeconfig existant, y compris le nouveau point d'extrémité de l'API Kubernetes de la grappe dans votre propre VCN. L'élément
current-context:
du fichier kubeconfig est défini de manière à pointer vers le contexte qui vient d'être ajouté.Pour plus d'informations sur la configuration du fichier kubeconfig, voir Configuration de l'accès aux grappes.
-
Vérifiez que kubectl peut se connecter à la grappe à l'aide du point d'extrémité de l'API Kubernetes dans votre propre VCN en entrant la commande suivante :
kubectl get nodes
Les informations sur les noeuds de la grappe s'affichent.
Vous pouvez maintenant utiliser kubectl pour effectuer des opérations sur la grappe à l'aide du point d'extrémité de l'API Kubernetes dans votre propre VCN.
Tant que le point d'extrémité d'API initial qui n'est pas intégré à votre réseau VCN n'est pas mis hors service, vous pouvez continuer à générer le fichier kubeconfig initial en omettant l'option
--kube-endpoint
de la commande oci ce cluster create-kubeconfig
.Foire aux questions sur la migration de grappes
Que sont les grappes natives du VCN?
Le moteur Kubernetes crée des grappes Kubernetes qui sont complètement intégrées dans votre réseau en nuage virtuel (VCN) Oracle Cloud Infrastructure. Les noeuds de travail, les équilibreurs de charge et le point d'extrémité de l'API Kubernetes font partie de votre propre VCN, et vous pouvez les configurer comme publics ou privés. Les grappes entièrement intégrées dans votre propre VCN sont dites "natives du VCN".
Comment savoir si une grappe est déjà une grappe native du VCN?
Si vous ne savez pas si une grappe est déjà une grappe native du réseau en nuage virtuel (VCN), consultez les informations sur la grappe (par exemple, dans la page Détails de la grappe de la console). Si la grappe est déjà une grappe native du VCN, les détails de la grappe incluent des informations sur le point d'extrémité de l'API Kubernetes. Si la grappe n'est pas encore une grappe native du réseau en nuage virtuel (VCN), les détails de la grappe incluent simplement l'adresse Kubernetes.
Dois-je migrer toutes mes grappes existantes?
Non, vous n'avez qu'à migrer les grappes existantes que vous voulez transformer en grappes natives de VCN. Si vous ne voulez pas intégrer le point d'extrémité de l'API Kubernetes d'une grappe dans votre propre VCN, il vous suffit de ne pas migrer cette grappe.
La migration implique-t-elle un temps d'arrêt?
Pendant la migration d'une grappe vers une grappe native du VCN, l'API Kubernetes de la grappe continue d'être accessible au moyen du point d'extrémité public qui n'est pas intégré à votre propre VCN. Toutefois, les opérations de cycle de vie de grappe (telles que les mises à jour de grappe, la création et la suppression de groupes de noeuds) ne sont pas disponibles.
Dois-je choisir la migration automatique ou la migration personnalisée?
La migration automatique crée un sous-réseau régional dans le VCN de la grappe avec un bloc CIDR 10.0.0.0/28, ainsi que des listes de sécurité et des tables de routage. Le sous-réseau est public et une adresse IP publique est affectée au point d'extrémité de l'API. La migration automatique prend uniquement en charge les grappes avec des groupes de noeuds dans le même compartiment que la grappe. Pour les grappes avec des groupes de noeuds dans des compartiments différents, effectuez une migration personnalisée.
La migration personnalisée vous permet de choisir un sous-réseau régional public ou privé existant pour héberger le point d'extrémité de l'API Kubernetes de la grappe. Si vous choisissez un sous-réseau régional public, vous pouvez éventuellement exposer le point d'extrémité de l'API Kubernetes à Internet en affectant une adresse IP publique au point d'extrémité. Vous pouvez éventuellement choisir d'utiliser des groupes de sécurité de réseau.
Comment configurer un sous-réseau dans mon réseau VCN pour héberger le point d'extrémité de l'API Kubernetes?
Reportez-vous à Configuration des ressources de réseau pour la création et le déploiement de grappes pour plus de détails sur la configuration du sous-réseau de point d'extrémité de l'API Kubernetes, des listes de sécurité et de la table de routage.
Je veux tester la migration vers une grappe native du VCN. Comment créer une grappe avec un point d'extrémité d'API Kubernetes qui n'est pas intégré à mon réseau VCN?
Dans la fenêtre de terminal où vous exécutez normalement les commandes de l'interface de ligne de commande d'Oracle Cloud Infrastructure, exécutez la commande suivante pour créer une grappe de test avec un point d'extrémité d'API Kubernetes qui n'est pas intégré à votre VCN :
oci ce cluster create --compartment-id <compartment-ocid> --kubernetes-version v<kubernetes-version-number> --name <cluster-name> --vcn-id <vcn-ocid>
où :
--compartment-id <compartment-ocid>
est l'OCID du compartiment auquel vous voulez que la grappe de test appartienne.--kubernetes-version v<kubernetes-version-number>
est une version prise en charge de Kubernetes (voir Versions de Kubernetes actuellement prises en charge). Par exemple,--kubernetes-version v1.19.7
--name <cluster-name>
est le nom de votre choix pour la grappe de test. Par exemple,--name test-vcn-native-migration
--vcn-id <vcn-ocid>
est l'OCID du VCN dans lequel créer la grappe de test.
Après avoir créé une grappe de test avec un point d'extrémité d'API Kubernetes qui n'est pas intégré à votre VCN, vous pouvez maintenant migrer la grappe de test pour en faire une grappe native du VCN. Voir Migration d'une grappe existante pour qu'elle soit native du VCN.
N'oubliez pas de supprimer le cluster de test lorsque vous n'en avez plus besoin.
Comment puis-je augmenter ou réduire le temps avant la mise hors service du point d'extrémité d'API Kubernetes public qui n'est pas intégré à mon propre VCN?
La période de mise hors service est la durée pendant laquelle une grappe nouvellement migrée est accessible à la fois au moyen du nouveau point d'extrémité d'API Kubernetes dans votre propre VCN et au moyen du point d'extrémité d'API public qui n'a pas été intégré à votre VCN. La période de déclassement garantit qu'il n'y a aucun temps d'arrêt pendant la mise à jour de la configuration de votre kubectl, de vos outils et de vos pipelines d'intégration et de développement en continu pour utiliser le nouveau point d'extrémité de l'API Kubernetes.
La période de déclassement commence dès que le moteur Kubernetes a migré la grappe pour intégrer son point d'extrémité d'API Kubernetes dans votre propre VCN. Par défaut, vous disposez de 30 jours pour effectuer les mises à jour, mais vous pouvez réduire la période de mise hors service à 5 jours ou l'augmenter à plus de 30 jours. Déposez un billet de soutien si vous voulez réduire ou augmenter la période de mise hors service et spécifiez :
- Sommaire :
Request to modify Reclamation Extension in <region-name>
- Région :
<region-name>
- Composant :
Control Plane
- Détails : Incluez ce qui suit :
Tenancy: <tenancy-name>
Tenancy Id: <tenancy-ocid>
Cluster: <cluster-name>
Cluster Id: <cluster-ocid>
Requested expiration date/time: <date-and-time>