国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kubernetes的pod管理

這篇具有很好參考價(jià)值的文章主要介紹了Kubernetes的pod管理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、應(yīng)用部署

二、編寫yaml文件

三、init容器

四、探針

1、存活探針

2、就緒探針


一、應(yīng)用部署

下載測試鏡像

docker pull yakexi007/myapp:v1
docker pull yakexi007/myapp:v2
docker tag yakexi007/myapp:v1  reg.westos.org/library/myapp:v1
docker tag yakexi007/myapp:v2 reg.westos.org/library/myapp:v2
docker push reg.westos.org/library/myapp:v1
docker push reg.westos.org/library/myapp:v2

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

創(chuàng)建自主式pod?(生產(chǎn)不推薦)

kubectl run demo --image=myapp:v1
kubectl get pod -o wide

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

查看pod詳情 及刪除

kubectl describe  pod demo
kubectl delete  pod demo

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

創(chuàng)建控制器(推薦)

kubectl create deployment myapp --image=myapp:v1 --replicas=3

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

控制器自動維護(hù)pod副本數(shù)

kubectl get pod
kubectl get deployments.apps
kubectl delete  pod myapp-67984c8646-kgxl5
kubectl get deployments.apps
kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

在遠(yuǎn)程pod中執(zhí)行命令

kubectl exec myapp-67984c8646-98zh4 -- ls /usr/share/nginx/html

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

擴(kuò)容pod數(shù)量

kubectl  scale deployment myapp --replicas=6
kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

縮容

kubectl  scale deployment myapp --replicas=3
kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

通過service暴露pod

kubectl expose deployment myapp --port=80 --target-port=80

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

查看svc詳情

kubectl describe  svc myapp

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

curl 10.98.121.24
curl 10.98.121.24/hostname.html

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

service自動發(fā)現(xiàn)pod擴(kuò)容與縮容,自動更新endpoints,實(shí)現(xiàn)對應(yīng)用的負(fù)載均衡

service默認(rèn)使用clusterip類型,只能在集群中訪問

nodeport類型,可以在集群外部訪問

kubectl edit svc myapp
kubectl get svc

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

訪問集群任意節(jié)點(diǎn)+端口

curl 192.168.67.11:32209/hostname.html
curl 192.168.67.12:32209/hostname.html
curl 192.168.67.13:32209/hostname.html

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

更新應(yīng)用版本

kubectl set image deployment/myapp myapp=myapp:v2
curl 192.168.67.13:32209

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

查看應(yīng)用歷史版本

kubectl rollout history deployment myapp

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

回滾

kubectl rollout undo deployment myapp --to-revision=1
curl 192.168.67.11:32209

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

刪除應(yīng)用

kubectl delete  deployments.apps myapp
kubectl delete svc myapp
kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

集群通過namespace來做資源隔離,默認(rèn)操作的資源都指向default

kubectl get ns

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

二、編寫yaml文件

隨著微服務(wù)的使用,在linux上使用vim或者vi命令編輯yml文件的時(shí)候,會自動縮進(jìn),導(dǎo)致文件根本 無法使用。

解決辦法
粘貼前先執(zhí)行如下命令:?再粘貼的時(shí)候,里面的內(nèi)容就不再縮進(jìn)了,完美解決。

:set paste
mkdir pod
cd pod/

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

獲取幫助

kubectl explain pod.spec.containers

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

獲取yaml模板

kubectl run demo --image nginx --dry-run=client  -o yaml > pod.yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

vim pod.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
    imagePullPolicy: IfNotPresent

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

創(chuàng)建pod

kubectl create -f pod.yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

查看詳情

kubectl get pod -o wide
kubectl describe  pod demo
kubectl get pod demo -o yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器
上傳redis
Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器
示例:
1.? 定義多個(gè)容器
vim pod.yml
cat pod.yml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
  - image: redis:6.2.4
    name: redis

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f pod.yml
kubectl describe pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器
刪除
kubectl delete  -f pod.yml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

2.定義拉取策略
vim pod.yml
cat pod.yml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
    imagePullPolicy: IfNotPresent

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f pod.yml
kubectl get pod demo -o yaml
kubectl delete -f pod.yml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

3?資源限制

vim pod.yml
cat pod.yml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
    imagePullPolicy: IfNotPresent
    resources:
      limits:
        cpu: 1
        memory: 200M
      requests:
        cpu: 0.5
        memory: 100M

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f pod.yml
kubectl get pod demo -o yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Guaranteed,保證級別:Pod 中的容器都設(shè)置了 CPU 和 Memory 的 requests 和 limits,并且這些值相等。此時(shí),如果資源滿足所有 Guaranteed 類別的 Pod 的需求,則這些 Pod 會被同時(shí)調(diào)度在集群中,保證它們的運(yùn)行。


Burstable,突發(fā)級別:Pod 中至少有一個(gè)容器設(shè)置了 CPU 和 Memory 的 requests 和 limits,但是這些值不相等。此時(shí),如果資源足夠,那么這些 Pod 會被相應(yīng)地調(diào)度,但是它們的性能可能會受到限制,因?yàn)樗鼈兡軌蚴褂玫馁Y源是有上限的。


BestEffort,盡力級別:Pod 中的容器沒有設(shè)置 CPU 和 Memory 的 requests 和 limits。此時(shí),這些容器會盡力地獲取集群中未被占用的資源,但是它們的資源使用是無法保證的,因?yàn)樗鼈冃枰却褐幸逊峙涞乃匈Y源使用完畢才能夠獲得更多的資源。

4.端口映射

##有配置NodePort,外部流量可訪問k8s中的服務(wù)

vim pod.yml
cat pod.yml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  containers:
  - image: nginx
    name: demo
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
      hostPort: 80

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f pod.yml
kubectl get pod -o wide
kubectl describe  pod demo

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器
5.指定節(jié)點(diǎn)
vim pod.yml
cat pod.yml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: demo
  name: demo
spec:
  hostNetwork: true
  nodeSelector:
    kubernetes.io/hostname: k8s2
  containers:
  - image: nginx
    name: demo
    imagePullPolicy: IfNotPresent

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f pod.yml
kubectl describe  pod demo
kubectl delete -f pod.yml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

三、init容器

vim init-pod.yaml
cat init-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app.kubernetes.io/name: MyApp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']
  initContainers:
  - name: init-myservice
    image: busybox
    command: ['sh', '-c', "until nslookup myservice.default.svc.cluster.local; do echo waiting for myservice; sleep 2; done"]

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f init-pod.yaml
kubectl get pod
Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器
在init容器沒有成功運(yùn)行之前,主容器不會被運(yùn)行
添加svc定義
vim myservice.yaml
cat myservice.yaml

apiVersion: v1
kind: Service
metadata:
  name: myservice
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 9376

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f myservice.yaml
kubectl get svc

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

svc解析成功后,init容器退出,主容器運(yùn)行

yum install -y bind-utils
dig -t A myservice.default.svc.cluster.local. @10.96.0.10

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

回收資源

kubectl delete  -f init-pod.yaml
kubectl delete  -f myservice.yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

四、探針

1、存活探針

vim liveness-pod.yaml
cat liveness-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-http
spec:
  containers:
  - name: liveness
    image: nginx
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 3
      periodSeconds: 3

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

在存活探針檢測失敗導(dǎo)致容器不斷被重啟

kubectl apply -f liveness-pod.yaml
kubectl get pod -w

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl describe  pod liveness-http
kubectl delete  -f liveness-pod.yaml
Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

2、就緒探針

vim liveness-pod.yaml
cat liveness-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-http
spec:
  containers:
  - name: liveness
    image: nginx
    livenessProbe:
      tcpSocket:
        port: 80
      initialDelaySeconds: 3
      periodSeconds: 3
    readinessProbe:
      httpGet:
        path: /test.html
        port: 80
      initialDelaySeconds: 5
      periodSeconds: 5

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

kubectl apply -f liveness-pod.yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

就緒探針失敗導(dǎo)致容器一直未就緒

kubectl get pod
kubectl describe  pod liveness-http

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

創(chuàng)建測試頁面

kubectl exec  liveness-http -- touch /usr/share/nginx/html/test.html

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

就緒探針成功

kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

創(chuàng)建svc

kubectl expose pod liveness-http --port 80 --target-port 80

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

就緒容器自動上線

kubectl describe  svc liveness-http

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

刪除測試頁面

kubectl exec  liveness-http -- rm /usr/share/nginx/html/test.html

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

就緒探針失敗,容器未就緒

kubectl get pod

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

在svc中容器自動下線

kubectl describe  svc liveness-http
Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器

回收

kubectl delete  -f liveness-pod.yaml

Kubernetes的pod管理,kubernetes,linux,運(yùn)維,服務(wù)器文章來源地址http://www.zghlxwxcb.cn/news/detail-727510.html

到了這里,關(guān)于Kubernetes的pod管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • kubernetes|云原生| 如何優(yōu)雅的重啟和更新pod---pod生命周期管理實(shí)務(wù)

    kubernetes|云原生| 如何優(yōu)雅的重啟和更新pod---pod生命周期管理實(shí)務(wù)

    kubernetes的管理維護(hù)的復(fù)雜性體現(xiàn)在了方方面面,例如,pod的管理,服務(wù)的管理,用戶的管理(RBAC),網(wǎng)絡(luò)的管理等等,因此,kubernetes安裝部署完畢僅僅是萬里長征的第一步,后面的運(yùn)營和維護(hù)工作才是更為關(guān)鍵的東西。 那么,pod的生命周期是什么概念呢?這

    2024年02月04日
    瀏覽(18)
  • Linux6.39 Kubernetes Pod控制器

    Linux6.39 Kubernetes Pod控制器

    第三章 LINUX Kubernetes Pod控制器 一、Pod控制器及其功用 Pod控制器,又稱之為工作負(fù)載(workload),是用于實(shí)現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時(shí),會嘗試進(jìn)行重啟,當(dāng)根據(jù)重啟策略無效,則會重新新建pod的資源 二.pod控制器有多種類型 1.Replic

    2024年02月12日
    瀏覽(44)
  • 【探索 Kubernetes|作業(yè)管理篇 系列 10】Pod 健康檢查和恢復(fù)機(jī)制

    【探索 Kubernetes|作業(yè)管理篇 系列 10】Pod 健康檢查和恢復(fù)機(jī)制

    大家好,我是秋意零。 上一篇中介紹了,Pod 的服務(wù)對象,從而對 Pod 有了更深的理解; 今天的主題是 Pod 健康檢查和恢復(fù)機(jī)制,我們將結(jié)束 Pod 的內(nèi)容。 最近搞了一個(gè)扣扣群,旨在技術(shù)交流、博客互助,希望各位大佬多多支持!在我主頁推廣區(qū)域,如圖: 文章底部推廣區(qū)域

    2024年02月09日
    瀏覽(24)
  • Kubernetes學(xué)習(xí)筆記-計(jì)算資源管理(4)監(jiān)控pod的資源使用量20230219

    前面學(xué)了設(shè)置資源的requests和limits,這節(jié)課學(xué)習(xí)如何監(jiān)控資源,根據(jù)監(jiān)控資源使用情況,對requests和limits進(jìn)行合理配置。 kubelet包含一個(gè)agent,名為cAdvisor,它會收集整個(gè)節(jié)點(diǎn)上運(yùn)行的所有單獨(dú)容器的資源消耗情況,這些信息可以通過一個(gè)附加組件Heapster來集中統(tǒng)計(jì)整個(gè)集群的監(jiān)

    2024年02月05日
    瀏覽(15)
  • Kubernetes 集群管理、Pod 創(chuàng)建、Service 的創(chuàng)建、ConfigMap等 Kubernetes Up and Running Writing Cloud Native Apps

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 本文通過介紹下述的內(nèi)容和知識點(diǎn),介紹了云原生應(yīng)用開發(fā)的 Kubernetes 基礎(chǔ)知識。 涉及的內(nèi)容包括 Kubernetes 集群管理、Pod 創(chuàng)建、Service 的創(chuàng)建、ConfigMap 和 Secret 等關(guān)鍵組件的介紹;Kubernetes 工作流程的概述;基于角色的訪問控制(RBAC)、網(wǎng)絡(luò)

    2024年02月09日
    瀏覽(29)
  • 基于Kubernetes的微服務(wù)自動化運(yùn)維

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 本文將介紹如何使用Kubernetes進(jìn)行微服務(wù)自動化運(yùn)維,提高團(tuán)隊(duì)的工作效率和服務(wù)的可靠性。本文將闡述微服務(wù)自動化運(yùn)維的實(shí)現(xiàn)步驟、核心技術(shù)和應(yīng)用場景,同時(shí)也會介紹如何優(yōu)化和改進(jìn)微服務(wù)自動化運(yùn)維。 引言 1.1. 背景介紹 隨著互聯(lián)網(wǎng)的發(fā)

    2024年02月06日
    瀏覽(34)
  • 【探索 Kubernetes|作業(yè)管理篇 系列 7】探究 Pod 有什么用,為什么需要它

    【探索 Kubernetes|作業(yè)管理篇 系列 7】探究 Pod 有什么用,為什么需要它

    大家好,我是秋意零。 前一篇,我們介紹了如何從 0 到 1 搭建 Kubernetes 集群?,F(xiàn)在我們可以正式了解,Kubernetes 核心特征了。 今天我們來探究 Pod,為什么需要 Pod? ?? 簡介 ?? 個(gè)人主頁 : 秋意零 ?? 個(gè)人介紹 :在校期間參與眾多云計(jì)算相關(guān)比賽,如:?? “省賽”、“國

    2024年02月09日
    瀏覽(31)
  • Kubernetes(K8s)從入門到精通系列之十六:linux服務(wù)器安裝minikube的詳細(xì)步驟

    安裝Docker的詳細(xì)步驟,可以閱讀博主下面這篇技術(shù)博客文章:

    2024年02月12日
    瀏覽(54)
  • 自動化的運(yùn)維管理:探究Kubernetes工作機(jī)制的奧秘

    自動化的運(yùn)維管理:探究Kubernetes工作機(jī)制的奧秘

    Kubernetes 是一個(gè)生產(chǎn)級別的 容器編排平臺 和 集群管理系統(tǒng) ,能夠 創(chuàng)建 、 調(diào)度容器 , 監(jiān)控 、 管理服務(wù)器 。 容器是什么?容器是軟件,是應(yīng)用,是進(jìn)程。 服務(wù)器是什么?服務(wù)器是硬件,是 CPU、內(nèi)存、硬盤、網(wǎng)卡等。 那么,既可以管理軟件,也可以管理硬件,就是一個(gè)操

    2024年01月16日
    瀏覽(19)
  • 【Kubernetes運(yùn)維篇】RBAC之創(chuàng)建集群用戶管理K8S

    【Kubernetes運(yùn)維篇】RBAC之創(chuàng)建集群用戶管理K8S

    需求:公司新入職兩位運(yùn)維同事,分別是zhangsan、lisi,剛?cè)肼毧隙ú荒芙oK8S管理員權(quán)限,所以需要創(chuàng)建兩個(gè)系統(tǒng)賬號,分別對應(yīng)不同的權(quán)限: zhangsan用戶 :對uat名稱空間擁有管理員權(quán)限 lisi用戶 :對所有命名空間擁有查看Pod的權(quán)限 第一步:生成一個(gè)私鑰 第二步:生成一個(gè)證

    2024年02月16日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包