Kubernetes Services && Update

2018年8月16日16:37:23 發(fā)表評論 3,984 ℃

運行三個httpd鏡像

Kubernetes Services && Update

創(chuàng)建service

Kubernetes Services && Update

① v1 是 Service 的 apiVersion。

② 指明當(dāng)前資源的類型為 Service。

③ Service 的名字為 httpd-svc。

④ selector 指明挑選那些 label 為 run: httpd 的 Pod 作為 Service 的后端。

⑤ 將 Service 的 8080 端口映射到 Pod 的 80 端口,使用 TCP 協(xié)議。

  kubectl describe service httpd-svc  #查看httpd-svc與Pod的對應(yīng)關(guān)系

iptables 將訪問 Service 的流量轉(zhuǎn)發(fā)到后端 Pod,而且使用類似輪詢的負(fù)載均衡策略。

在kube-public中部署service httpds-svc

Kubernetes Services && Update

通過namespace: kube-public指定資源所屬的namespace。多個資源可以在一個YAML文件中定義,用 --- 分割。

外網(wǎng)訪問Service

ClusterIP 

Service 通過 Cluster 內(nèi)部的 IP 對外提供服務(wù),只有 Cluster 內(nèi)的節(jié)點和 Pod 可訪問,這是默認(rèn)的 Service 類型,前面實驗中的 Service 都是 ClusterIP。

NodePort 

Service 通過 Cluster 節(jié)點的靜態(tài)端口對外提供服務(wù)。Cluster 外部可以通過 <NodeIP>:<NodePort> 訪問 Service。

LoadBalancer 

Service 利用 cloud provider 特有的 load balancer 對外提供服務(wù),cloud provider 負(fù)責(zé)將 load balancer 的流量導(dǎo)向 Service。目前支持的 cloud provider 有 GCP、AWS、Azur 等。

使用Nodeport方式

Kubernetes Services && Update

Kubernetes Services && Update

PORT(S) 為 8080:30651。8080 是 ClusterIP 監(jiān)聽的端口,30651則是節(jié)點上監(jiān)聽的端口。Kubernetes 會從 30000-32767 中分配一個可用的端口,每個節(jié)點都會監(jiān)聽此端口并將請求轉(zhuǎn)發(fā)給 Service。

nodePort指定分配的端口

Kubernetes Services && Update

nodePort 是節(jié)點上監(jiān)聽的端口。

port 是 ClusterIP 上監(jiān)聽的端口。

targetPort 是 Pod 監(jiān)聽的端口。

版本回滾

默認(rèn)配置下,Kubernetes 只會保留最近的幾個 revision,可以在 Deployment 配置文件中通過 revisionHistoryLimit 屬性增加 revision 數(shù)量。

Kubernetes Services && Update

 kubectl apply -f httpd.v1.yml --record

--record 的作用是將當(dāng)前命令記錄到 revision 記錄中,這樣我們就可以知道每個 revison 對應(yīng)的是哪個配置文件。

kubectl rollout history deployment httpd 查看revision歷史記錄

Kubernetes Services && Update

kubectl rollout undo deployment httpd --to-revision=1 #回滾到版本1

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: