GCP Firewall 提供精細的安全控制機制的雲端資源,可以讓資源管理者保護其 VPC 內資料,不會收到未經授權的訪問或者意外流出資料,從而提高安全性和隱私性。 GCP 防火牆其實是一個蠻大的類別,產品全稱是 Cloud Next Generation Firewall 簡稱 Cloud NGFW,其中基本可分成:

  • Cloud NGFW Essentials
  • Cloud NGFW Enterprise
  • Cloud NGFW Standard

但通常在我們在 GCP 提到的防火牆,其實都是指最常用的 Firewall-Rules 防火牆規則 ,隸屬於 Cloud NGFW Essentials,只能應用在給定的 project 和指定的 VPC ; 如果想要把 Firewall-Rules 應用到 organization 下的其他 project 或者其他 VPC,則要使用 Firewall-Policies,本篇重點介紹 Firewall-Rules。

Continue reading

GCP - VPC 概述

Virtual Private Cloud 虛擬私有雲網路,簡寫為 VPC、網路、VPC Network、Network 都可以,是 Google 使用 Andromeda(/ænˈdrɑː.mə.də/) 網路虛擬化技術實現的一個 global 的雲端資源,提供 GCP-VM、GKE、serverless workloads 和 App Engine 等等雲端服務的網路功能,讓 User 可以高自由度地建立、管理和優化網路架構。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : Amazon VPC
  • Microsoft Azure : Azure Virtual Network

GCP-VPC 和 Amazon VPC 設計蠻不一樣的。GCP-VPC 是全球性的,只要在同一個 GCP-VPC 內,就算不同 region 也能使用 Internal IP ; 但如果是不同的 VPC ,就算在同一個地區 region 也不能互相通訊。而 Amazon VPC 是針對 Region 來設定的,只要跨 region 就不是內網的概念。

Continue reading

Kubernetes 若要把應用暴露於 Cluster 外部 ,已知可以使用 NodePortLoadBlancer 類型的 Service,但當每暴露一個 Service 給外部時,就會需要暴露一個對應的 Port ,隨著 Service 越來越多之後,我們就需要管理更多的 Port Number,也會使得維運上更加複雜。這時就可以考慮使用 Kubernetes Ingress ,它可用來代理不同 Kubernetes Service,能對外開放統一的 Port ,並將外部的請求轉發到 Cluster 內不同的 Service 上,來實現負載均衡。 Ingress 專注於 Cluster 對外的暴露、負載均衡、L7轉發、 Virtual Hosting 等功能。

Continue reading

kubernetes 可以創建多個 Pods,Pod 內有一個或多個 Container,那麼 Container 之間是怎麼溝通的的呢 ? 這裡歸類出一些 case :

  • 不同網路下,不同 pod 間的 container 的通訊
  • 同一網路下,不同 pod 間的 container 的通訊
  • 同一個 pod 中,不同的 container 的通訊

以下來對這些 case 進行說明。

Continue reading

Kubernetes 是可以支援 ClusterIP:PortPodIP:Port 的形式,來完成相互溝通的,但是這樣會帶來些問題,因為 Kubernetes 內部 Pod 和 Service 都有機會重啟的,這會導致 Pod 和 Service 的 IP 發生變化;但 Service 名字等一些標識資訊是不會經常變動的,所以 Kubernetes 更推薦通過 Service 的名字來訪問服務,這就是服務發現。Service Discovery 是一種機制,通過該機制,服務可以動態發現彼此,而無需 hardcode 硬寫 IP 或 endpoint 配置。可以讓我們只透過 Service 的名稱,就能找到相對應 Pod ,而非使用 IP 地址訪問。

Continue reading

Pod 的生命週期是動態的,因為 cluster 會根據需求,動態地創建或銷毀 Pod ,重啟的 Pod 自然也伴隨着 IP 地址的更動。為了解決這問題,kubernetes 在 客戶端和 Pod 間,引入了一個名為 Service 的組件,它會在 pod 的前方提供了一個穩定的網路端點。不只可以建立內部 Pod 之間的通信,讓 Pod 間可以用 domain name 的方式相互溝通;另外也可以建立外部與 Pod 的溝通管道。 最後 Service 也有能力爲這些 Pod 進行負載分配,平均每個 Pod 的使用率。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan