Remarques :

Utilisation de Cilium pour fournir des services de mise en réseau dans Oracle Cloud Infrastructure Container Engine for Kubernetes

Introduction

Lorsque nous déployons un nouveau cluster Kubernetes à l'aide d'Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), le module d'extension CNI (Container Network Interface) par défaut installé est le module d'extension CNI natif OCI VCN. Avec l'informatique native du cloud, vous êtes flexible pour choisir votre méthode de fourniture de services réseau (sécurité) à votre plate-forme de conteneur en choisissant simplement un autre plugin CNI. Dans ce tutoriel, nous allons déployer un nouveau cluster Kubernetes à l'aide d'OKE avec le plug-in Flannel CNI et le remplacer par le plug-in Cilium CNI. Cilium offre d'autres fonctionnalités de réseau (sécurité) par rapport au plug-in CNI natif OCI VCN et à Flannel.

image

image

Objectifs

Tâche 1 : déploiement d'un cluster Kubernetes à l'aide d'OKE

Pour plus d'informations sur les différents modèles de déploiement OKE, reportez-vous à la section Example Network Resource Configurations.

Les exemples de modèles de déploiement OKE sont les suivants :

Pour ce tutoriel, nous allons sélectionner l'exemple 1 de modèle de déploiement. Nous avons déjà expliqué comment déployer l'Exemple 3 ici : Créer un cluster Kubernetes et vérifier les composants.

Tâche 2 : installation de Cilium en tant que module d'extension CNI sur le cluster Kubernetes déployé OKE

Tâche 3 : Déployer un exemple d'application et de service Web

Tâche 4 : configurer les services Kubernetes de type NetworkPolicy

L'un des services de sécurité réseau offerts par le plugin Cilium CNI est le service de type NetworkPolicy. Il s'agit d'un moyen de contrôler la connectivité entre les pods en refusant la connectivité entre deux pods.

Tâche 5 : supprimer l'exemple d'application et de service Web

Tâche 6 : déployer un exemple d'application et configurer des services Kubernetes de type LoadBalancer

Nous avons testé le service NetworkPolicy en utilisant Cilium, testons également le service LoadBalancer en utilisant Cilium.

Tâche 7 : suppression d'un exemple d'application et de services Kubernetes de type LoadBalancer

  1. Exécutez la commande suivante pour obtenir les pods déployés.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get pods
    NAME                                READY   STATUS    RESTARTS   AGE
    nginx-deployment-86dcfdf4c6-6ncvx   1/1     Running   0          2m54s
    nginx-deployment-86dcfdf4c6-qbhn2   1/1     Running   0          2m54s
    
  2. Vérifiez les pods déployés.

  3. Pour enlever l'application Web déployée, exécutez la commande suivante.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete deployment nginx-deployment --namespace default
    deployment.apps "nginx-deployment" deleted
    
  4. Vérifiez que l'application a été supprimée.

  5. Exécutez la commande suivante pour obtenir les pods déployés.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get pods
    No resources found in default namespace.
    
  6. Les pods ne sont plus déployés et supprimés avec succès.

  7. Exécutez la commande suivante pour obtenir les services déployés.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get svc
    NAME         TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)             AGE
    kubernetes   ClusterIP      10.96.0.1     <none>          443/TCP,12250/TCP   46h
    my-service   LoadBalancer   10.96.56.91   XXX.XXX.XXX.88   80:32422/TCP        2m42s
    
  8. Vérifiez les services déployés.

  9. Pour enlever les services LoadBalancer déployés, exécutez la commande suivante.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete service my-service -n default
    service "my-service" deleted
    
  10. Vérifiez que le service est supprimé.

  11. Exécutez la commande suivante pour obtenir les services déployés.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get svc
    NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)             AGE
    kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP,12250/TCP   46h
    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ 
    
  12. Le service LoadBalancer n'est plus déployé et supprimé.

image

Remerciements

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.