iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0

來說說.pod與.kube,用這兩個像在單體系統上模擬k8s的運作。
這兩者與.container的差異如下:

類型 主要用途 約等於什麼 Podman 指令 適合情境
.container 管理單一 container podman run ... Spring Boot、nginx 這種一服務一容器
.pod 建立/管理 Pod podman pod create ... 多個 container 要共用 network namespace / localhost
.kube 執行 Kubernetes YAML podman kube play xxx.yaml 已有 Deployment/Pod YAML,或想用 Kubernetes 格式描述整組服務
  • .pod:先建立Pod,再把多個.container放進去
    例:
    ~/.config/containers/systemd/
    ├── a2a.pod
    ├── a2a-proxy.container
    ├── a2a-api.container
    └── a2a-web.container
    a2a.pod的內容:
[Pod]
PodName=a2a
PublishPort=8443:8443

[Install]
WantedBy=default.target

而每個.container檔的[Container]Section下加一個Pod指向a2a.pod,例:

[Container]
Image=localhost/a2a-api:latest
Pod=a2a.pod

用法蠻像Network=a2a-net一樣單純。

經過systemctl --user daemon-reload後,a2a.pod本身可以像service被systemd操作。
systemctl --user [start|stop|restart|status|cat] a2a.pod
所有.container的[Container]有指定Pod=a2a者,會跟著a2a.pod共進退。

至於.kube,留到明天充篇幅,事實上概念與.pod和.container也差異不小。


上一篇
不透過Quadlet把容器註冊成服務
系列文
Podman Quadlet-容器服務化(在單體系統到微服務之間)22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言