k8s實戰五 用service建立前後端應用

2021-09-05 11:42:03 字數 2880 閱讀 4429

官方建議 後端應用 埠不指定, 前端像nginx這種可以指定

cat hello.yaml

kind: deployment

metadata:

name: hello

spec:

selector:

matchlabels: # 這麼多label 。。。

tier: backend

track: stable

replicas: 7 # 7個pod 牛掰

template:

metadata:

labels:

tier: backend

track: stable

spec:

containers: # 這個應該是google的案例應用

: service #service 型別

apiversion

: v1

metadata

:name

: hello

spec

:selector

:: hello

tier

: backend

ports:-

protocol

: tcp

port

:80

# service 埠是 80

targetport

: http執行建立service

kubectl create -f hello-service.yaml

注意 前端應用這裡使用的 nginx

nginx配置如下

upstream hello 

server

}

如果 你想用原生的nginx,並且建立pod的時候就把配置檔案放進去,請使用configmap

cat frontend.yaml

apiversion

: v1

kind

: service # 前端的service

metadata

:name

: frontend

spec

:selector

:: hello

tier

: frontend

ports:-

protocol

: "tcp" # tcp

port

:80

# service 內 80

targetport

:80

# 對外暴露 80

type

: loadbalancer # 這個是loadbalancer的service

---# 下一段

apiversion

kind

: deployment # deployment型別

metadata

:name

: frontend

spec

:selector

:matchlabels

:: hello

tier

: frontend

track

: stable

replicas

:1

# 就1個

template

:metadata

:labels

:: hello

tier

: frontend

track

: stable

spec

:containers:-

name

: nginx

image

:"gcr.io/google-samples/hello-frontend:1.0"

lifecycle

:# 這是容器的鉤子函式

prestop

:# 容器停止前

exec

:# 執行下面命令

command:[

"/usr/sbin/nginx"

,"-s"

,"quit"

]

執行構建

kubectl create -frontend.yaml
立即監視前端服務啟動狀態

kubectl get service frontend --watch
狀態更替

name       type       cluster-ip      external-ip   port(s)  age

frontend clusterip 10.51.252.116 80/tcp 10s

name type cluster-ip external-ip port(s) age

frontend clusterip 10.51.252.116 ***.***.***.*** 80/tcp 1m

驗證

實戰 k8s學習筆記 深入理解Service

4.4 建立該service並檢視ip位址和埠號 4.5 通過service的ip位址和埠號進行訪問 5.service的三種常用型別 6.service 模式 service是kubernetes的核心概念,通過建立service,可以為一組具有相同功能的容器應用提供乙個統一的入口位址,並且將請求...

k8s 之 Service 詳解(一)

service用途 service 為後端pod提供一組負載均衡 建立服務 kubectl expose 快速建立服務 kubctl get svc 檢視服務資源 cluster ip 顯示集群ip,只能在集群內部可以被訪問,服務的主要目標就是使集群內部的pod可以訪問這組pod。targetpor...

K8S中Service屬性解釋

service的yaml檔案簡單解釋 apiversion v1 kind service 型別 metadata 元資料 name details service的名稱 labels 自定義標籤屬性列表 details service details spec 詳細描述 ports service...