附註:

使用 Cilium 在 Oracle Cloud Infrastructure Container Engine for Kubernetes 中提供網路服務

簡介

當我們使用 Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) 部署新的 Kubernetes 叢集時,安裝的預設容器網路介面 (CNI) 外掛程式為 OCI VCN 原生 CNI 外掛程式。有了雲端原生運算,您只要選擇其他 CNI Plugin,就可以彈性地選擇向容器平台提供網路 (安全) 服務的方法。在本教學課程中,我們將使用 OKE 搭配 Flannel CNI 外掛程式來部署新的 Kubernetes 叢集,並將其變更為 Cilium CNI 外掛程式。與 OCI VCN 原生 CNI Plugin 和 Flannel 相比,Cilium 提供其他網路 (安全) 功能。

圖像

圖像

目標

作業 1:使用 OKE 部署 Kubernetes 叢集

如需有關不同 OKE 部署模型的詳細資訊,請參閱網路資源組態範例

OKE 部署模型範例如下:

對於此教學課程,我們將選取範例 1 部署模型。我們已經在此處說明如何部署範例 3建立新的 Kubernetes 叢集並驗證元件

工作 2:在 OKE 部署的 Kubernetes 叢集上安裝 Cilium 作為 CNI Plugin

工作 3:部署範例 Web 應用程式和服務

作業 4:設定 NetworkPolicy 類型的 Kubernetes 服務

Cilium CNI 外掛程式提供的網路安全性服務之一是 NetworkPolicy 類型的服務。藉由拒絕兩個 Pod 之間的連線,這是控制 Pod 之間連線的方式。

工作 5:移除範例 Web 應用程式和服務

工作 6:部署範例應用程式並設定 LoadBalancer 類型的 Kubernetes 服務

我們已使用 Cilium 測試 NetworkPolicy 服務,也讓我們使用 Cilium 測試 LoadBalancer 服務。

工作 7:移除 LoadBalancer 類型的範例應用程式和 Kubernetes 服務

  1. 執行下列命令以取得已部署的 Pod。

    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. 複查部署的 Pod。

  3. 若要移除已部署的 Web 應用程式,請執行下列指令。

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete deployment nginx-deployment --namespace default
    deployment.apps "nginx-deployment" deleted
    
  4. 確認應用程式已刪除。

  5. 執行下列命令以取得已部署的 Pod。

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl get pods
    No resources found in default namespace.
    
  6. 請注意,Pod 已不再部署並已成功刪除。

  7. 執行下列命令以取得已部署的服務。

    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. 複查已建置的服務。

  9. 若要移除已部署的 LoadBalancer 服務,請執行下列命令。

    iwan_hooge@cloudshell:~ (eu-amsterdam-1)$ kubectl delete service my-service -n default
    service "my-service" deleted
    
  10. 確認已刪除服務。

  11. 執行下列命令以取得已部署的服務。

    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. 請注意,已不再部署並順利刪除 LoadBalancer 服務。

圖像

認可

其他學習資源

瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center