Note:

Uso de Cilium para proporcionar servicios de redes en Oracle Cloud Infrastructure Container Engine for Kubernetes

Introducción

Cuando desplegamos un nuevo cluster de Kubernetes mediante Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), el plugin de la interfaz de red de contenedores (CNI) por defecto instalado es el plugin de CNI nativo de VCN de OCI. Con la computación nativa en la nube, usted es flexible para elegir su método de proporcionar servicios de red (seguridad) a su plataforma de contenedores simplemente eligiendo otro plugin CNI. En este tutorial, vamos a desplegar un nuevo cluster de Kubernetes con OKE con el plugin Flannel CNI y cambiarlo al plugin Cilium CNI. Cilium ofrece otras funciones de red (seguridad) en comparación con el plugin de CNI nativo de VCN y Flannel de OCI.

image

image

Objetivos

Tarea 1: Despliegue de un cluster de Kubernetes con OKE

Para obtener más información sobre los diferentes modelos de despliegue de OKE, consulte Configuraciones de recursos de red de ejemplo.

Los modelos de despliegue de OKE de ejemplo son:

Para este tutorial, seleccionaremos el modelo de despliegue del ejemplo 1. Ya hemos explicado cómo desplegar el Ejemplo 3 aquí: Creación de un nuevo cluster de Kubernetes y verificación de los componentes.

Tarea 2: Instalación de Cilium como plugin CNI en el cluster de Kubernetes desplegado de OKE

Tarea 3: Despliegue de una Aplicación Web y un Servicio de Ejemplo

Tarea 4: Configuración de servicios de Kubernetes de tipo NetworkPolicy

Uno de los servicios de seguridad de red que ofrece el plugin Cilium CNI es el servicio del tipo NetworkPolicy. Esta es una forma de controlar la conectividad entre pods negando la conectividad entre dos pods.

Tarea 5: Eliminación del servicio y la aplicación web de ejemplo

Tarea 6: Despliegue de una aplicación de ejemplo y configuración de servicios de Kubernetes de tipo LoadBalancer

Hemos probado el servicio NetworkPolicy con Cilium, probemos también el servicio LoadBalancer con Cilium.

Tarea 7: Eliminación de una aplicación de ejemplo y servicios de Kubernetes del tipo LoadBalancer

  1. Ejecute el siguiente comando para obtener los pods que están desplegados.

    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. Revise los pods desplegados.

  3. Para eliminar la aplicación web desplegada, ejecute el siguiente comando.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete deployment nginx-deployment --namespace default
    deployment.apps "nginx-deployment" deleted
    
  4. Confirme que se ha suprimido la aplicación.

  5. Ejecute el siguiente comando para obtener los pods que están desplegados.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get pods
    No resources found in default namespace.
    
  6. Observe que los pods ya no se despliegan ni se suprimen correctamente.

  7. Ejecute el siguiente comando para obtener los servicios desplegados.

    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. Revise los servicios desplegados.

  9. Para eliminar los servicios LoadBalancer desplegados, ejecute el siguiente comando.

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete service my-service -n default
    service "my-service" deleted
    
  10. Verifique que se haya suprimido el servicio.

  11. Ejecute el siguiente comando para obtener los servicios desplegados.

    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. Observe que el servicio LoadBalancer ya no se despliega y se suprime correctamente.

image

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.