iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
1
自我挑戰組

我們 der 暑假學習紀錄 :D系列 第 7

DAY7 建立 service 及 deployment

昨天介紹了如何建立一個 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 的教學,綜合以上步驟,就是

  1. 建立 yaml 檔
  2. 使用 kubectl create -f 指令建立它

大家在練習的時候,也可以跟自己的需求,編寫 yaml 檔,但要注意的是,yaml 檔是固定的格式,在編輯時要特別注意,小編常常因為多一個或少一個間隔就發生錯誤了,很多時候反而不是內容有錯呢。


上一篇
DAY6 建立pod
下一篇
DAY8 kubernetes 安裝速覽與多機連線
系列文
我們 der 暑假學習紀錄 :D30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言