Basic - Creating a Pod
什麼是 Pod?
在 Kubernetes 中,Pod 是最小的部署單位。Pod 是一組一個或多個容器的集合,這些容器共享網路、儲存資源以及運行環境。Pod 通常用來運行單一應用程式或應用的微服務,並確保容器之間能有效協作。
Pod 的特點
- 單一應用單元
- 每個 Pod 內的容器通常執行相同應用程式的不同部分或密切相關的服務。
- 共享資源
- 網路:Pod 內的所有容器共享同一個 IP 地址和網路端口,能夠輕鬆進行內部通信。
- 儲存:Pod 可以掛載共用的儲存卷(Volume),用於數據共享。
- 短暫性
- Pod 是短暫的資源,可能因節點失效、升級或其他原因被重新建立。
- Kubernetes 使用控制器(如 Deployment)來管理 Pod 的生命週期。
Pod 的架構
- 容器組
- Pod 可以包含一個或多個容器(如 Docker),這些容器在同一個 Pod 中運行,並共享網路空間和儲存資源。
- 儲存卷(Volume)
- 提供持久性存儲,支持多種存儲解決方案(如 NFS、Persistent Volume)。
- 網路
- 每個 Pod 都有唯一的 IP 地址,用於與其他 Pod 或服務進行通信。
實作一個 Pod
建立一個 Container
- 我們要透過 Golang 建立一個簡單的應用,他只有返回 httpOK,並告訴我他是誰,go run main.go 就可以執行他,預設在 8080port
main.go
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"data": "Hello world v1!"})
})
router.Run()
}