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

K8s控制器

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

創(chuàng)建資源文件模板

kubectl create <tab><tab> 下面的所有都可以創(chuàng)建模板文件 --dry-run=client -o yaml

# 以下資源對象都可以用模板生成
[root@master ~]# kubectl create <tab><tab>
clusterrole             deployment           poddisruptionbudget        rolebinding
clusterrolebinding      ingress              priorityclass              secret
configmap               job                  quota                      service
cronjob                 namespace            role                       serviceaccount

查詢資源對象的幫助信息

????????kubectl explain pod.spec.restartPolicy? ? ? ? ? ? #這里對上下層級關(guān)系需要清楚

# 查看幫助信息
[root@master ~]# kubectl explain pod.spec.restartPolicy
KIND:     Pod
VERSION:  v1

FIELD:    restartPolicy <string>

DESCRIPTION:
     Restart policy for all containers within the pod. 
     One of Always, OnFailure, Never. Default to Always. More info:
     https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

獲取Pod模板

????????kubectl run mypod --image=xxxx --dry-run=client -o yaml

# Pod 模板
[root@master ~]# kubectl run mypod --image=myos:httpd --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: mypod
  name: mypod
spec:
  containers:
  - image: myos:httpd
    name: mypod
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

獲取Deployment

????????kubectl create dewployment myeb --image=myos:httpd --dry-run=client -o yaml

# Deployment 模板
[root@master ~]# kubectl create deployment myweb --image=myos:httpd --dry-run=client -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: myweb
  name: myweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myweb
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: myweb
    spec:
      containers:
      - image: myos:httpd
        name: myos
        resources: {}
status: {}

控制器

可以幫助用戶實(shí)現(xiàn)Pod的自動(dòng)部署,自維護(hù),擴(kuò)容,滾動(dòng)更新等自動(dòng)化程序

Deployment控制器(副本數(shù)量保持)

最常用的無狀態(tài)服務(wù)控制器,由Deployment 、 ReplicaSet 、 Pod組成支持集群擴(kuò)容縮容,滾動(dòng),更新,自動(dòng)維護(hù)Pod可用性及副本數(shù)量等功能

ReplicaSet 和 Pod 由 Deployment自動(dòng)管理,用戶無需干預(yù)

K8s控制器

[root@master ~]# vim mydeploy.yaml
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: myweb
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myhttp
  template:
    metadata:
      labels:
        app: myhttp
    spec:
      restartPolicy: Always
      containers:
      - name: apache
        image: myos:httpd
        ports:
        - name:
          protocol: TCP
          containerPort: 80

[root@master ~]# kubectl apply -f mydeploy.yaml 
deployment.apps/myweb created
[root@master ~]# kubectl get deployments.apps 
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
myweb   2/2     2            2           68s
[root@master ~]# kubectl get replicasets.apps 
NAME               DESIRED   CURRENT   READY   AGE
myweb-64b544dcbc   2         2         2       73s
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5mhqn   1/1     Running   0          76s
myweb-64b544dcbc-nt6tz   1/1     Running   0          76s

測試Deploment

# 創(chuàng)建服務(wù)訪問集群
[root@master ~]# vim websvc.yaml
---
kind: Service
apiVersion: v1
metadata:
  name: websvc
spec:
  type: ClusterIP
  clusterIP: 10.245.1.80
  selector:
    app: myhttp
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

[root@master ~]# kubectl apply -f websvc.yaml 
service/websvc created
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.

# 自維護(hù)自治理
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5mhqn   1/1     Running   0          4m16s
myweb-64b544dcbc-nt6tz   1/1     Running   0          4m16s

# Pod 被刪除后,Deploy 會(huì)自動(dòng)創(chuàng)建新的 Pod 來維護(hù)集群的完整性
[root@master ~]# kubectl delete pod myweb-64b544dcbc-5mhqn 
pod "myweb-64b544dcbc-5mhqn" deleted
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-g8l9p   1/1     Running   0          3s
myweb-64b544dcbc-nt6tz   1/1     Running   0          4m25s


# 動(dòng)態(tài)更新集群副本數(shù)量
[root@master ~]# kubectl scale deployment myweb --replicas=1
deployment.apps/myweb scaled
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-nt6tz   1/1     Running   0          5m46s
[root@master ~]# kubectl scale deployment myweb --replicas=3
deployment.apps/myweb scaled
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-64b544dcbc-5sf5z   1/1     Running   0          3s
myweb-64b544dcbc-6r6dw   1/1     Running   0          3s
myweb-64b544dcbc-nt6tz   1/1     Running   0          5m56s

歷史版本、滾動(dòng)更新

# 添加注釋信息
[root@master ~]# kubectl annotate deployments.apps myweb kubernetes.io/change-cause="httpd.v1"
deployment.apps/myweb annotated

# 修改鏡像,滾動(dòng)更新集群
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.
[root@master ~]# sed -r 's,(image: ).*,\1myos:nginx,' mydeploy.yaml |kubectl apply -f -
deployment.apps/myweb configured
# 更新注釋信息
[root@master ~]# kubectl annotate deployments.apps myweb kubernetes.io/change-cause="nginx.v1"
deployment.apps/myweb annotated
[root@master ~]# kubectl get replicasets.apps 
NAME               DESIRED   CURRENT   READY   AGE
myweb-5bfdc888d7   2         2         2       3m46s
myweb-64b544dcbc   0         0         0       12m
[root@master ~]# curl -m 3 http://10.245.1.80
Nginx is running !

# 歷史版本與回滾
[root@master ~]# kubectl rollout history deployment myweb 
deployment.apps/myweb 
REVISION  CHANGE-CAUSE
1         httpd.v1
2         nginx.v1

[root@master ~]# kubectl rollout undo deployment myweb --to-revision=1
deployment.apps/myweb rolled back
[root@master ~]# kubectl rollout history deployment myweb 
deployment.apps/myweb 
REVISION  CHANGE-CAUSE
2         nginx.v1
3         httpd.v1
[root@master ~]# curl -m 3 http://10.245.1.80
Welcome to The Apache.

# 刪除控制器方法1
[root@master ~]# kubectl delete deployments.apps myweb 
deployment.apps "myweb" deleted
# 刪除控制器方法2
[root@master ~]# kubectl delete -f mydeploy.yaml
deployment.apps "myweb" deleted

DaemonSet控制器(根據(jù)node)

K8s控制器

?無法自定義副本數(shù)量,所創(chuàng)建的Pod與node節(jié)點(diǎn)綁定

每個(gè)node上都會(huì)運(yùn)行一個(gè)Pod

當(dāng)有新Node加入集群時(shí)會(huì)為他新增Pod副本,當(dāng)Node從集群移除時(shí),這些Pod也會(huì)被回收,典型的應(yīng)用kube-proxy

會(huì)受到污點(diǎn)策略的影響

[root@master ~]# vim myds.yaml
---
kind: DaemonSet
apiVersion: apps/v1
metadata:
  name: myds
spec:
  selector:
    matchLabels:
      app: myhttp
  template:
    metadata:
      labels:
        app: myhttp
    spec:
      restartPolicy: Always
      containers:
      - name: apache
        image: myos:httpd
        ports:
        - name:
          protocol: TCP
          containerPort: 80

[root@master ~]# kubectl apply -f myds.yaml 
daemonset.apps/myds created
[root@master ~]# kubectl get pods -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP            NODE
myds-4wt72   1/1     Running   0          31s   10.244.3.14   node-0003
myds-lwq8l   1/1     Running   0          31s   10.244.2.17   node-0002
myds-msrcx   1/1     Running   0          31s   10.244.1.11   node-0001

# 刪除DS控制器
[root@master ~]# kubectl delete -f myds.yaml 
daemonset.apps "myds" deleted

Job/CronJob

Job是一個(gè)單任務(wù)控制器,負(fù)責(zé)執(zhí)行一次任務(wù),保證任務(wù)在一個(gè)或多個(gè)Pod上執(zhí)行成功CronJob基于時(shí)間管理的Job

執(zhí)行完才是1/1 沒執(zhí)行完是0/1

K8s控制器

[root@master ~]# vim myjob.yaml 
---
kind: Job
apiVersion: batch/v1
metadata:
  name: myjob
spec:
  template:
    spec:
      restartPolicy: OnFailure
      containers:
      - name: myjob
        image: myos:latest
        command: ["/bin/sleep", "30"]

[root@master ~]# kubectl apply -f myjob.yaml 
job.batch/myjob created
[root@master ~]# kubectl get jobs.batch 
NAME    COMPLETIONS   DURATION   AGE
myjob   0/1           3s         3s
[root@master ~]# kubectl get pods -l job-name=myjob
NAME             READY   STATUS    RESTARTS   AGE
myjob--1-kz8mk   1/1     Running   0          6s
[root@master ~]# sleep 30
[root@master ~]# kubectl get pods -l job-name=myjob
NAME             READY   STATUS      RESTARTS   AGE
myjob--1-kz8mk   0/1     Completed   0          58s
[root@master ~]# kubectl get jobs.batch 
NAME    COMPLETIONS   DURATION   AGE
myjob   1/1           31s        64s

# 刪除Job控制器
[root@master ~]# kubectl delete -f myjob.yaml 
job.batch "myjob" deleted

?CronJob

達(dá)到條件才運(yùn)行,保留三次運(yùn)行結(jié)果,多出來的把之前的刪除

K8s控制器

[root@master ~]# vim mycj.yaml
---
kind: CronJob
apiVersion: batch/v1
metadata:
  name: mycronjob
spec:
  schedule: "*/1 * * * 1-5"          #調(diào)度字段周期分時(shí)日月周
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
          - name: myjob
            image: myos:latest
            command: ["/bin/sleep", "30"]

[root@master ~]# kubectl apply -f mycj.yaml 
cronjob.batch/mycronjob created
[root@master ~]# kubectl get cronjobs.batch 
NAME        SCHEDULE        SUSPEND   ACTIVE   LAST SCHEDULE   AGE
mycronjob   */1 * * * 1-5   False     0        <none>          4s
[root@master ~]# kubectl get jobs.batch 
No resources found in default namespace.
[root@master ~]# kubectl get pods
No resources found in default namespace.
[root@master ~]# sleep 60
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   0/1           0s         0s
[root@master ~]# kubectl get pods
NAME                          READY   STATUS    RESTARTS   AGE
mycronjob-27605367--1-ps6r8   1/1     Running   0          3s
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   0/1           12s        12s
[root@master ~]# sleep 200

# 保留三次結(jié)果,多余的會(huì)被刪除
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605367   1/1           31s        3m30s
mycronjob-27605368   1/1           31s        2m30s
mycronjob-27605369   1/1           31s        90s
mycronjob-27605370   0/1           30s        30s
[root@master ~]# kubectl get jobs.batch 
NAME                 COMPLETIONS   DURATION   AGE
mycronjob-27605368   1/1           31s        2m33s
mycronjob-27605369   1/1           31s        93s
mycronjob-27605370   1/1           31s        33s

# 刪除CJ控制器
[root@master ~]# kubectl delete -f mycj.yaml 
cronjob.batch "mycronjob" deleted

高級控制器StatefulSet

與有狀態(tài)的應(yīng)用及分布式系統(tǒng)一起使用,涉及了Headless服務(wù),存儲卷,DNS等相關(guān)知識點(diǎn),是一個(gè)復(fù)雜的話題

K8s控制器

?一個(gè)一個(gè)創(chuàng)建,無核服務(wù)先創(chuàng)建

# 配置headless服務(wù)
[root@master ~]# vim mysvc.yaml 
---
kind: Service
apiVersion: v1
metadata:
  name: mysvc
spec:
  type: ClusterIP
  clusterIP: None
  selector:
    app: myhttp
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

[root@master ~]# kubectl apply -f mysvc.yaml 
service/mysvc created
[root@master ~]# kubectl get service
NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
mysvc        ClusterIP   None          <none>        80/TCP    61s

# 創(chuàng)建statefulset控制器
[root@master ~]# vim mysts.yaml
---
kind: StatefulSet
apiVersion: apps/v1
metadata:
  name: mysts
spec:
  serviceName: "mysvc"
  selector:
    matchExpressions:
    - key: app
      operator: In
      values:
      - myhttp
  replicas: 3
  template:
    metadata:
      labels:
        app: myhttp
    spec:
      restartPolicy: Always
      containers:
      - name: apache
        image: myos:httpd
        imagePullPolicy: Always
        ports:
        - protocol: TCP
          containerPort: 80

[root@master ~]# kubectl apply -f mysts.yaml 
statefulset.apps/mysts created
[root@master ~]# kubectl get pods
NAME      READY   STATUS    RESTARTS   AGE
mysts-0   1/1     Running   0          4s
mysts-1   1/1     Running   0          3s
mysts-2   1/1     Running   0          2s

[root@master ~]# host mysts-0.mysvc.default.svc.cluster.local 10.245.0.10
Using domain server:
Name: 10.245.0.10
Address: 10.245.0.10#53
Aliases: 

mysts-0.mysvc.default.svc.cluster.local has address 10.244.3.81
[root@master ~]# host mysvc.default.svc.cluster.local 10.245.0.10
Using domain server:
Name: 10.245.0.10
Address: 10.245.0.10#53
Aliases: 

mysvc.default.svc.cluster.local has address 10.244.2.10
mysvc.default.svc.cluster.local has address 10.244.1.12
mysvc.default.svc.cluster.local has address 10.244.3.11

[root@master ~]# curl -m 3 http://10.244.2.10/info.php
<pre>
Array
(
    [REMOTE_ADDR] => 10.244.0.0
    [REQUEST_METHOD] => GET
    [HTTP_USER_AGENT] => curl/7.29.0
    [REQUEST_URI] => /info.php
)
php_host:       mysts-2
1229

# 刪除sts控制器
[root@master ~]# kubectl delete -f mysts.yaml -f mysvc.yaml 
statefulset.apps "mysts" deleted
service "mysvc" deleted

HPA控制器

HorizontalPodAutoscaling簡稱HPA在集群中基于CPU利用率或者其他程序提供的度量值實(shí)現(xiàn)水平自動(dòng)伸縮的功能,自動(dòng)縮放Pod的數(shù)量

控制器會(huì)周期性的獲取平均利用率

與目標(biāo)值相比較后調(diào)整副本數(shù)量

K8s控制器文章來源地址http://www.zghlxwxcb.cn/news/detail-437341.html

# 為 Deploy 模板添加資源配額
[root@master ~]# vim mydeploy.yaml 
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: myweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myhttp
  template:
    metadata:
      labels:
        app: myhttp
    spec:
      restartPolicy: Always
      containers:
      - name: apache
        image: myos:httpd
        ports:
        - name:
          protocol: TCP
          containerPort: 80
        resources:
          requests:
            cpu: "200m"

---
kind: Service
apiVersion: v1
metadata:
  name: websvc
spec:
  type: ClusterIP
  clusterIP: 10.245.1.80
  selector:
    app: myhttp
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

# 使用 Deploy 和 Cluster IP 創(chuàng)建集群
[root@master ~]# kubectl apply -f mydeploy.yaml
deployment.apps/myweb created
service/websvc created
[root@master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
myweb-5946bb4c68-c8tm2   1/1     Running   0          2m43s
[root@master ~]# curl -s http://10.245.1.80
Welcome to The Apache.

# 創(chuàng)建 HPA 控制器
[root@master ~]# vim myhpa.yaml 
---
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v1
metadata:
  name: myweb
spec:
  minReplicas: 1
  maxReplicas: 3
  scaleTargetRef:
    kind: Deployment
    apiVersion: apps/v1
    name: myweb
  targetCPUUtilizationPercentage: 50

[root@master ~]# kubectl apply -f myhpa.yaml 
horizontalpodautoscaler.autoscaling/myweb created

# 剛剛創(chuàng)建 unknown 是正常現(xiàn)象,最多等待 300s 就可以正常獲取數(shù)據(jù)
[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   <unknown>/50%   1         3         0          4s

[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%          1         3         1          71s
# 終端 1 訪問提高負(fù)載
[root@master ~]# while true;do
    curl -s "http://10.245.1.80/info.php?id=50000"
    sleep 1
done
# 終端 2 監(jiān)控 HPA 變化
[root@master ~]# kubectl get hpa -w
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%    1         3         1          8m21s
myweb   Deployment/myweb   49%/50%   1         3         1          9m
myweb   Deployment/myweb   56%/50%   1         3         1          9m15s
myweb   Deployment/myweb   56%/50%   1         3         2          9m30s
myweb   Deployment/myweb   37%/50%   1         3         2          9m45s
myweb   Deployment/myweb   32%/50%   1         3         2          10m
myweb   Deployment/myweb   41%/50%   1         3         2          11m
myweb   Deployment/myweb   48%/50%   1         3         2          11m
myweb   Deployment/myweb   51%/50%   1         3         2          11m
myweb   Deployment/myweb   59%/50%   1         3         2          11m
myweb   Deployment/myweb   58%/50%   1         3         3          12m
myweb   Deployment/myweb   42%/50%   1         3         3          12m
myweb   Deployment/myweb   34%/50%   1         3         3          12m

# 如果 300s 內(nèi)平均負(fù)載小于標(biāo)準(zhǔn)值,就會(huì)自動(dòng)縮減集群規(guī)模
[root@master ~]# kubectl get hpa -w
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   38%/50%   1         3         3          19m
myweb   Deployment/myweb   21%/50%   1         3         3          20m
myweb   Deployment/myweb   17%/50%   1         3         3          21m
myweb   Deployment/myweb    7%/50%   1         3         3          22m
myweb   Deployment/myweb    0%/50%   1         3         3          23m
myweb   Deployment/myweb    0%/50%   1         3         2          25m
myweb   Deployment/myweb    0%/50%   1         3         1          28m
[root@master ~]# kubectl get horizontalpodautoscalers.autoscaling 
NAME    REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
myweb   Deployment/myweb   0%/50%    1         3         1          5m41s
[root@master ~]# kubectl get pods
NAME                       READY     STATUS    RESTARTS  AGE
myweb-5946bb4c68-f9tw9     1/1       Running   0         6m40s

到了這里,關(guān)于K8s控制器的文章就介紹完了。如果您還想了解更多內(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)文章

  • 15-k8s控制器資源-deployment/部署控制器

    15-k8s控制器資源-deployment/部署控制器

    ? ? ? ? 在學(xué)習(xí)rc和rs控制器資源時(shí),我們指導(dǎo),這兩個(gè)資源都是控制pod的副本數(shù)量的,但是,他們兩個(gè)有個(gè)缺點(diǎn),就是在部署新版本pod或者回滾代碼的時(shí)候,需要先apply資源清單,然后再刪除現(xiàn)有pod,通過資源控制,重新拉取新的pod來實(shí)現(xiàn)回滾或者迭代升級; ? ? ? ? 那么

    2024年02月21日
    瀏覽(29)
  • 14-k8s控制器資源-rs控制器replicasets

    14-k8s控制器資源-rs控制器replicasets

    ? ? ? ? replicaset副本控制器,簡稱:rs控制器; ? ? ? ? 用法:與rc控制器“幾乎”相同; ? ? ? ? 能力:可以指定pod的副本始終存活,相比于rc控制器;支持標(biāo)簽匹配,也支持標(biāo)簽表達(dá)式 ????????注意:不論是rc還是rs資源,都是通過“標(biāo)簽”驚醒匹配pod的,如果有同樣

    2024年02月21日
    瀏覽(35)
  • k8s---pod控制器

    k8s---pod控制器

    工作負(fù)載,workload用于管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài)。 預(yù)期狀態(tài): 1、副本數(shù) 2、容器重啟策略 3、鏡像拉取策略 pod出故障的出去等等 1、replicaset:指定pod副本的數(shù)量 三個(gè)組件: ????????????????1、pod的副本 ????????????????2、標(biāo)簽選擇器,判斷

    2024年01月18日
    瀏覽(25)
  • 13-k8s的控制器資源-rc控制器replicationcontrollers

    13-k8s的控制器資源-rc控制器replicationcontrollers

    ? ? ? ? replicationcontrollers控制器資源,簡稱:rc控制器; ? ? ? ? 簡單理解,rc控制器就是控制相同的pod副本數(shù)量; ? ? ? ? 使用rc控制器資源創(chuàng)建pod,就可以設(shè)定創(chuàng)建pod的數(shù)量; [root@k8s231 rc]# vim rc.yaml apiVersion: v1 kind: ReplicationController metadata: ? name: rc01 spec: ? #控制pod的副本

    2024年02月20日
    瀏覽(34)
  • 17-k8s控制器資源-job控制

    17-k8s控制器資源-job控制

    job控制器:就是一次性任務(wù)的pod控制器,pod完成作業(yè)后不會(huì)重啟,其重啟策略是:Never ? ? ? ? 啟動(dòng)一個(gè)pod,執(zhí)行完成一個(gè)事件,然后pod關(guān)閉; ? ? ? ? 事件:計(jì)算π的值,取前5000位; [root@k8s231 pi]# vim job.yaml apiVersion: batch/v1 kind: Job metadata: ? name: job-pi spec: ? #定義pod模板 ?

    2024年02月20日
    瀏覽(23)
  • 帶你深入學(xué)習(xí)k8s--(四) 控制器(k8s核心)

    帶你深入學(xué)習(xí)k8s--(四) 控制器(k8s核心)

    目錄 一、概念 1、什么是控制器 2、控制器執(zhí)行流程 3、控制器類型 二、控制器的使用 1、ReplicaSet 2、Deployment 1、版本迭代 2、回滾? 3、修改滾動(dòng)更新策略 4、暫停與恢復(fù) 3、daemonset 4、job 5、cronjob 前言: 上一章我們說到,pod有兩種,分別為自主式 Pod,Pod 退出后不會(huì)被創(chuàng)建;

    2024年02月06日
    瀏覽(35)
  • k8s 的 Deployment控制器

    k8s 的 Deployment控制器

    RC(Replication Controller)主要作用就是用來確保容器應(yīng)用的副本數(shù)始終保持在用戶定義的副本數(shù)。即如果有容器異常退出,會(huì)自動(dòng)創(chuàng)建新的pod來替代;而如果異常多出來的容器也會(huì)自動(dòng)回收。 K8S官方建議使用RS(ReplicaSet)替代RC(Replication Controller)進(jìn)行部署,RS跟RC沒有本質(zhì)的

    2024年02月09日
    瀏覽(25)
  • K8s(五)ReplicaSet控制器

    K8s(五)ReplicaSet控制器

    在Kubernetes(簡稱K8s)中,控制器是負(fù)責(zé)管理和維護(hù)集群中資源狀態(tài)的組件。控制器監(jiān)視集群中的對象,并根據(jù)它們的預(yù)期狀態(tài)來采取行動(dòng),以確保系統(tǒng)的期望狀態(tài)與實(shí)際狀態(tài)保持一致。 對于自主式pod來說,刪除pod之后pod就直接消失了,如果因?yàn)橐恍┱`操作或pod錯(cuò)誤退出,就

    2024年01月21日
    瀏覽(23)
  • k8s之Pod控制器

    k8s之Pod控制器

    Pod控制器,又稱之為工作負(fù)載(workload),是用于實(shí)現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時(shí),會(huì)嘗試進(jìn)行重啟,當(dāng)根據(jù)重啟策略無效,則會(huì)重新新建pod的資源。 1、 ReplicaSet : 代用戶創(chuàng)建指定數(shù)量的pod副本,確保pod副本數(shù)量符合預(yù)期狀態(tài),并且支

    2024年02月13日
    瀏覽(20)
  • k8s 控制器StatefulSet原理解析

    k8s 控制器StatefulSet原理解析

    ??明明跟你說過:個(gè)人主頁 ??個(gè)人專欄:《Kubernetes航線圖:從船長到K8s掌舵者》??? ??行路有良友,便是天堂?? 目錄 一、前言 1、k8s概述 2、有狀態(tài)服務(wù)和無狀態(tài)服務(wù)? 二、StatefulSet基本概念 1、StatefulSet特性? 2、StatefulSet與Deployment、DaemonSet的對比? 三、StatefulSet核心組件

    2024年04月17日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包