Note :

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

Présentation

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

Image

Image

Objectifs

Tâche 1 : Déployer une grappe Kubernetes à l'aide d'OKE

Pour plus d'informations sur les différents modèles de déploiement OKE, voir Exemples de configurations de ressources de réseau.

Voici un exemple de modèle de déploiement OKE :

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

Tâche 2 : Installer Cilium en tant que plugiciel CNI sur la grappe Kubernetes déployée par OKE

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

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

L'un des services de sécurité de réseau offerts par le plugiciel 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 Web et de service

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

Nous avons testé le service NetworkPolicy à l'aide de Cilium, testons également le service LoadBalancer à l'aide de Cilium.

Tâche 7 : Supprimer 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 supprimer 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. Notez que les pods ne sont plus déployés et qu'ils ont été supprimé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 supprimer 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. Notez que le service LoadBalancer n'est plus déployé et supprimé.

Image

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

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