iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
0
Kubernetes

從Docker到Kubernetes-新手入門筆記系列 第 19

Day19-解析Service Yaml設定

前天Pod yaml設定檔基本上就是設定containers,比起docker,kubernetes有更多的細部設定在網路架構上

Service Object在Spec部分多了type的屬性

查官網共有四種Service Type

  • ClusterIP
    • default,只有在Cluster裡看得到
  • NodePort
    • 可以被外部以IP方式存取,但port局限於30000~32676,通常用於開發環境
  • LoadBalancer
    • 可以被外部存取以IP方式存取,另可以設定負載平衡,either使用internal或是不同平台cloud provider
  • ExternalName
    • 可以以網址的方式存取,需搭配kube-dns

以前天Service yaml設定檔為例

apiVersion: v1
kind: Service
metadata:
  name: nestjsapi-service
spec:
  type: NodePort 
  ports:
    - port: 5000 # 代表cluster內要存取服務要透過port 5000
      targetPort: 3000 # 代表對應label selector選到的pod所設定的containerPort,類似docker裡的3000:3000(targetPort:containerPort)
      nodePort: 30001 # 代表對外的port
  selector:
    component: api # lalbel selector會去找cluster底下的pod,裡面metadata下labels屬性是否有一樣的key:value pair

在網址列或是postman打vm ip:nodePort,其實不是直接連到nestapi-service,而是透過kube-proxy將request dispatch到nestjsapi service

接下來幾天就把前半部用docker-compose的架構,用kubernetes實踐看看。

很多抽象概念,試試看才知道功能,如果不順的話,就拿官網的例子來用。


上一篇
Day18-Kubernetes Object Overview
下一篇
Day20-建立Angular Frontend Docker image
系列文
從Docker到Kubernetes-新手入門筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言