昨天介紹了如何建立一個 pod ,今天就接著看如何建立一個 service 及 deployment。
service
根據 kubernetes 官方網站的定義是將運行在一組 Pods 上的應用程序公開為網絡服務的抽象方法,換句話說就是 service 為定義一群 pod 如何被存取及連線的元件。
建立 service
與建立 pod 一樣,在建立 service 前,也一樣需要撰寫關於它的身分證,也就是 yaml 檔。
撰寫 service 的 yaml 檔
vim my-service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
編輯完記得儲存喔!
建立 service
kubectl create -f my-service.yaml
系統就告訴你 service 已經建立好了
最後來查看一下 service
kubectl get services
其實步驟不外乎就是編寫 yaml 檔,在 kubectl create -f 建立起來而已,非常簡單。來看看最後的 deployment~
deployment
deployment 可以幫助我們一次建立多個 pod 在 kubernetes cluster 中提供服務,這樣就不需要一個一個用指令將多個 pod 建立起來,馬上一起來看看吧。
一樣套路,先有 yaml ,才能 create。
撰寫 deployment 的 yaml 檔
vim nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
建立 deployment
kubectl create -f nginx-deployment.yaml
查看 depolyment
kubectl get deploy
就看到我們的 deployment 乖乖起來囉
前面說到,deployment 是一次建立多個 pod 所以現在要回來檢查 pod 是不是也一起被建立起來。
kubectl get pods
以上就是建立 pod 、 service 、 deployment 的教學,綜合以上步驟,就是
大家在練習的時候,也可以跟自己的需求,編寫 yaml 檔,但要注意的是,yaml 檔是固定的格式,在編輯時要特別注意,小編常常因為多一個或少一個間隔就發生錯誤了,很多時候反而不是內容有錯呢。