本頁面提供操作說明,說明如何在 Google Distributed Cloud (GDC) 實體隔離設備中設定跨專案流量網路政策。
跨專案流量是指來自不同專案命名空間,但位於同一機構的服務和工作負載之間的通訊。
專案中的服務和工作負載預設會與外部服務和工作負載隔離。不過,只要套用跨專案流量網路政策,來自不同專案命名空間且位於同一機構的服務和工作負載,就能彼此通訊。
事前準備
如要設定專案內流量網路政策,您必須具備下列條件:
- 必要的身分與存取權角色。詳情請參閱「準備預先定義的角色和存取權」。
- 現有專案。詳情請參閱「建立專案」一文。
建立跨專案流量政策
您可以定義專案間的輸入或輸出流量政策,管理專案間的通訊。
為跨專案流量建立輸入防火牆規則
如要允許專案工作負載或服務接受來自其他專案中其他工作負載的連線,您必須設定輸入防火牆規則,允許其他專案工作負載的輸入流量。
請按照下列步驟建立新的防火牆規則,並允許來自其他專案工作負載的傳入流量:
主控台
- 在要設定的專案 GDC 控制台中,依序前往導覽選單中的「Networking」(網路) >「Firewall」(防火牆),開啟「Firewall」(防火牆) 頁面。
- 按一下動作列中的「建立」,即可開始建立新的防火牆規則。
在「防火牆規則詳細資料」頁面上,填寫下列資訊:
- 在「Name」(名稱) 欄位中,輸入防火牆規則的有效名稱。
- 在「流量方向」專區選取「輸入」,允許來自其他專案工作負載的輸入流量。
- 在「目標」部分中,選取下列其中一個選項:
- 所有使用者工作負載:允許連線至您要設定的專案工作負載。
- 服務:指出這項防火牆規則的目標是您要設定的專案中的特定服務。
- 如果目標是專案服務,請從「服務」下拉式選單的可用服務清單中,選取服務名稱。
- 在「從」部分,選取下列其中一個選項:
- 所有專案:允許所有專案中的工作負載建立連線。
- 其他專案和所有使用者工作負載:允許來自其他專案工作負載的連線。
- 如要只從其他專案轉移工作負載,請從「專案 ID」下拉式選單的專案清單中,選取您有權存取的專案。
- 如果目標是所有使用者工作負載,請在「通訊協定和通訊埠」部分選取下列任一選項:
- 允許所有連線:允許使用任何通訊協定或通訊埠連線。
- 指定的通訊協定和通訊埠:只允許使用您在輸入防火牆規則的對應欄位中指定的通訊協定和通訊埠建立連線。
在「防火牆規則詳細資料」頁面上,按一下「建立」。
您現在已允許其他專案工作負載的連線。建立防火牆規則後,該規則會顯示在「Firewall」(防火牆) 頁面的表格中。
API
下列政策可讓 PROJECT_1 專案中的工作負載允許來自 PROJECT_2 專案中工作負載的連線,以及相同流程的傳回流量。套用政策:
kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT_1
name: allow-inbound-traffic-from-PROJECT_2
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- projectSelector:
projects:
matchNames:
- PROJECT_2
EOF
將 API_SERVER 替換為 API 伺服器的 kubeconfig 路徑。如果您尚未為 API 伺服器產生 kubeconfig 檔案,請參閱「登入」一文瞭解詳情。
上述指令允許 PROJECT_2 前往 PROJECT_1,但不允許從 PROJECT_1 啟動連線前往 PROJECT_2。如要使用後者,您必須在 PROJECT_2 專案中設定互惠政策。套用互惠政策:
kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT_2
name: allow-inbound-traffic-from-PROJECT_1
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- projectSelector:
projects:
matchNames:
- PROJECT_1
EOF
現在允許連線至 PROJECT_1 和 PROJECT_2,以及從這兩者連線。