iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0

前一篇是講a2a.pod,這一篇a2a.kube。
編輯a2a.kube:vi ~/.config/containers/systemd/a2a.kube

[Kube]
Yaml=/home/appuser/a2a.yaml

[Install]
WantedBy=default.target

a2a.yaml如下:

apiVersion: v1
kind: Pod
metadata:
  name: a2a
spec:
  containers:
    - name: a2a-api
      image: localhost/a2a-api:latest
      ports:
        - containerPort: 8082

    - name: a2a-web
      image: localhost/a2a-web:20260812-01
      ports:
        - containerPort: 80
          hostPort: 8088
      volumeMounts:
        - name: nginx-conf
          mountPath: /etc/nginx/conf.d
  volumes:
    - name: nginx-conf
      hostPath:
        path: /opt/nginx/conf
        type: Directory

.kube通常不把每個container詳細寫進Quadlet,而是指向一個Kubernetes YAML。
接著執行:

$ podman kube play /home/appuser/a2a.yaml
$ systemctl --user daemon-reload

會依a2a.yaml的產出Contaienr/Pod。
而服務維運作有二,不要混用。

  • 使用podman kube
    • podman kube play a2a.yaml # 啟動
    • podman kube down a2a.yaml # 關閉
  • 使用systèmctl
    • systèmctl --user [start|stop|status|restart|cat] a2a。這點與.pod相同,包在a2a.yaml的容器的生命週期與服務同進退。

而且顯然這已進入k8s生態,與.network、.volume不會混用。而且.kube經過Quadlet是直接生成a2a.service,而不是a2a-kube.service。


上一篇
.pod的飯粒
下一篇
.image與.build的飯粒
系列文
Podman Quadlet-容器服務化(在單體系統到微服務之間)28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言