Kubernetes POD與NodePort服務釋出
查詢最新發布規範樣例,可以在官方文件中找到。K8S API Reference
POD釋出規範及YAML檔案
本YAML檔案以釋出映象petclinic為例。
大小寫需要嚴謹。縮排為兩個空格。- 為列表格式,代表可以為多個。
假設樣例檔案為:petclinic-pod.yml
內容如下:
apiVersion: v1
kind: Pod
metadata:
# Pod名字
name: petclinic
spec:
containers:
# 容器名字
- name: petclinic
# 映象地址
image: spring2go/spring-petclinic:1.0.0.RELEASE
官方樣例:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#pod-v1-core
POD釋出命令
登入到K8S Master節點,使用一下命令檢視叢集狀態。
#可以看到K8S內執行的服務/POD.
kubectl get all
#釋出POD, 選項-f後面接要釋出的檔名稱,成功後會顯示一行POD created資訊。
kubectl apply -f petclinic-pod.yml
#再次檢視K8S內執行的服務/POD。
kubectl get all
#可以單獨看pod的資訊, 用pod的名字,pod選擇可以縮寫為po。
kubectl get pod petclinic
kubectl describe pod petclinic
POD埠轉發(僅適用於除錯)
此方法不用於生產環境。
kubectl get po
#前面是本機埠8080轉發到POD埠8080.
kubectl port-forward petclinic 8080:8080
NodePort Service路由YAML檔案
Service 3種型別: NodePort, LoadBalancer(用於公有云), ClusterIP(K8S內的反向代理)
NodePort Service YAML釋出檔案
apiVersion: v1
kind: Service
metadata:
# Unique key of the Service instance
name: petclinic
spec:
ports:
# Accept traffic sent to port 80
- name: http
#是本service的埠,在叢集內部使用
port: 8080
#對接的後臺pod的埠,可以不填
targetPort: 8080
#在本地開啟31080埠,K8S要求nodePort範圍: 30000 ~ 32767
nodePort: 31080
selector:
# 後臺pod標籤
app: petclinic
# 本地環境只能選NodePort,看上面service型別。
type: NodePort
為了讓服務路由生效,需要調整POD的釋出檔案
修改樣例檔案:petclinic-pod.yml
內容如下:(增加了labels)
apiVersion: v1
kind: Pod
metadata:
# Pod名字
name: petclinic
labels:
app: petclinic
spec:
containers:
# 容器名字
- name: petclinic
# 映象地址
image: spring2go/spring-petclinic:1.0.0.RELEASE
官方參考:
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#service-v1-core
服務釋出命令
#可以看到K8S內執行的服務/POD.
kubectl get all
#釋出當前目錄所有檔案
kubectl apply -f .
#再次檢視K8S內執行的服務/POD。
kubectl get all
#可以單獨看service的資訊, 用service的名字,service選擇可以縮寫為svc。
kubectl describe service petclinic
相關文章
- Kubernetes – NodePort 服務
- 使用dubbo+zookeeper釋出服務與呼叫服務
- 服務與質量釋出檔案
- Kubernetes:28---pod託管(Job:任務型pod)
- phoenix API服務釋出API
- Kubernetes:服務與負載均衡負載
- Kubernetes服務pod的健康檢測liveness和readiness詳解
- Kubernetes 實戰 —— 05. 服務:讓客戶端發現 pod 並與之通訊(下)客戶端
- Dubbo原始碼解析之服務釋出與註冊原始碼
- GeoServer釋出影像WMTS服務Server
- 騰訊遊戲與NVIDIA合作釋出START雲遊戲服務遊戲
- 使用InstallUtil釋出windows服務Windows
- Istio 1.2服務網格釋出
- 綠盟科技SASE服務正式釋出
- 重定向Kubernetes pod中的tcpdump輸出TCP
- kubernetes 載入pod出現ErrImageNeverPull錯誤
- 詳解資料服務共享釋出
- 阿里雲釋出 Elasticsearch 雲服務阿里Elasticsearch
- 阿里雲Kubernetes服務上使用Tekton完成應用釋出初體驗阿里
- 透過 VS Code 優雅地編輯 Pod 內的程式碼(非 NodePort)
- GeoServer二:釋出服務(postgis資料庫)Server資料庫
- SOFA 原始碼分析 —— 服務釋出過程原始碼
- Dubbo原始碼之服務端的釋出原始碼服務端
- docsify 4.0 釋出,支援服務端渲染(SSR)服務端
- 阿里雲安全管家服務重磅釋出!阿里
- ArcGIS Pro釋出地圖服務(影像、向量)地圖
- Kubernetes Pod驅逐策略
- Kubernetes Pod 全面知識
- Kubernetes:Pod總結(二)
- 部署 k8s 服務, flannel pod 報錯K8S
- 蘋果釋出會的All In服務,都有什麼?蘋果
- ArcGIS Desktop釋出地形高程服務(DEM/DSM)
- 在Eclipse中,用XFire釋出web服務EclipseWeb
- 釋出成多個服務還是一個
- Kubernetes 1.25正式釋出!
- Kubernetes之健康檢查與服務依賴處理
- Java服務端容器化:Docker與Kubernetes的應用Java服務端Docker
- 亞馬遜擬明年釋出雲遊戲服務 與谷歌微軟索尼等競爭亞馬遜遊戲谷歌微軟