昨天跟各位介紹完一些關於 Pod 的觀念後,相信大家應該都已經大致了解,那今天要來為各位示範如何建立一個屬於自己的 Pod。
廢話不多說,我們馬上開始吧!
首先我們建立 Pod 前,需要先寫一份屬於他的 YAML 檔,關於 YAML 檔的一些觀念我有寫在 Day15 裡面,有興趣的讀者可以去看一下。那 Pod 的 YAML 檔要怎麼寫呢?下面是一個簡單的範例:
# pod_test.yaml
apiVersion: v1
kind: Pod
metadata:
name: ubuntu-pod
labels:
app: test
spec:
containers:
- name: ubuntu
image: ubuntu:20.04
args: [bash, -c, 'for ((i = 0; ; i++)); do echo "$i: $(date)"; sleep 100; done']
labels 主要是辨別要對應到哪個 service,在之後實作service時會再介紹。
那當各位建立完這個YAML檔後,可以打以下指令
kubectl apply -f pod_test.yaml
之後應該會出現以下:
pod/ubuntu-pod created
這時候你可以輸入以下指令並觀察 Pod 的 STATUS 是否為Running 且 READY 狀態為 1/1:
kubectl get pod ubuntu-pod
NAME READY STATUS RESTARTS AGE
ubuntu-pod 1/1 Running 0 4h33m
如果到這步都是正常的話,那代表你成功了!
如果你想要看更多關於這個 Pod 的資訊,可以在原本的指令後面加上 -o wide。
kubectl get pod ubuntu-pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ubuntu-pod 1/1 Running 0 4h36m 10.244.0.11 ubuntu-pve <none> <none>
這邊可以多觀察到關於 Pod 本身的 IP、部署在哪一個 Node上...等資訊。
今天 Pod 的實作就先大概到這邊告一段落,明天開始我會跟各位介紹關於 Kubernetes Service。
那我們明天再見,掰掰!