kubernetes集群编排——控制器

编程入门 行业动态 更新时间:2024-10-28 18:33:03

kubernetes<a href=https://www.elefans.com/category/jswz/34/1771240.html style=集群编排——控制器"/>

kubernetes集群编排——控制器

控制器

文档:/

replicaset

vim rs-example.yml
apiVersion: apps/v1
kind: ReplicaSet
metadata:name: replicaset-example
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx
kubectl apply -f rs-example.yml
kubectl get pod --show-labels

replicaset是通过标签匹配pod

kubectl label pod replicaset-example-w9z28 app=myapp --overwritekubectl get pod --show-labels

kubectl label pod replicaset-example-w9z28 app=nginx --overwritekubectl get pod --show-labels

replicaset自动控制副本数量,pod可以自愈

kubectl delete pod replicaset-example-q2sq9kubectl get pod --show-labels

回收资源

kubectl delete -f rs-example.yml

deployment

vim deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-example
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: myapp:v1
kubectl apply -f deployment-example.yaml
kubectl get all

版本迭代

vim deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-example
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: myapp:v2
kubectl apply -f deployment-example.yaml
kubectl get all

replicaset就是deployment的一个版本

回滚

vim deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-example
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: myapp:v1
kubectl apply -f deployment-example.yaml
kubectl get all

滚动更新策略

vim deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-example
spec:minReadySeconds: 5				strategy:rollingUpdate:maxSurge: 1maxUnavailable: 0replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: myapp:v1
kubectl apply -f deployment-example.yamlkubectl describe deployments.apps deployment-example

暂停与恢复

暂停,避免触发不必要的线上更新

kubectl rollout pause deployment deployment-example
vim deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-example
spec:minReadySeconds: 5strategy:rollingUpdate:maxSurge: 1maxUnavailable: 0replicas: 6				selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: myappimage: nginxresources:limits:cpu: 0.5memory: 200Mirequests:cpu: 0.5memory: 200Mi
kubectl apply -f deployment-example.yaml
kubectl get all

调整副本数,不受影响

但是更新镜像和修改资源并没有触发更新

kubectl rollout history deployment deployment-example

恢复后开始触发更新

kubectl rollout resume deployment deployment-examplekubectl rollout history  deployment deployment-example

kubectl get pod

回收

kubectl delete -f deployment-example.yaml

daemonset

vim daemonset-example.yml
apiVersion: apps/v1
kind: DaemonSet
metadata:name: daemonset-example
spec:selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:tolerations:- effect: NoScheduleoperator: Existscontainers:- name: nginximage: nginx
kubectl apply -f daemonset-example.ymlkubectl get pod -o wide

kubectl delete -f daemonset-example.yml

job

vim job.yml
apiVersion: batch/v1kind: Jobmetadata:name: pispec:completions: 6parallelism: 2template:spec:containers:- name: piimage: perl:5.34.0command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]restartPolicy: NeverbackoffLimit: 4
kubectl apply -f job.ymlkubectl get pod

kubectl delete -f job.yml

cronjob

vim cronjob.yml
apiVersion: batch/v1kind: CronJobmetadata:name: hellospec:schedule: "* * * * *"jobTemplate:spec:template:spec:containers:- name: helloimage: busyboximagePullPolicy: IfNotPresentcommand:- /bin/sh- -c- date; echo Hello from the Kubernetes clusterrestartPolicy: OnFailure
kubectl apply -f cronjob.ymlkubectl get all

kubectl delete -f cronjob.yml

更多推荐

kubernetes集群编排——控制器

本文发布于:2023-11-17 00:05:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635529.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:集群   控制器   kubernetes

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!