kubernetes(九) kubernetes控制器

网友投稿 227 2022-10-28

kubernetes(九) kubernetes控制器

kubernetes控制器

kubernetes部署应用的流程

pod和controller控制器的关系

deployment 控制器

deployment控制器的定义

kubectl explain deployment.spec

$ vim deployment.yml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploy namespace: prod spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.18-alpine ports: - containerPort: 80 $ kubectl apply -f deployment.yml $ kubectl get deploy -n prod -o wide

被控制对象是放在template下的containers

通过命令行操作deployment

部署应用

$ kubectl create deployment web --image=nginx:1.14 $ kubectl get deploy,pods

暴露应用

$ kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web $ kubectl get svc,deploy,pod

应用升级

$ kubectl set image deploy/web nginx=nginx:1.15 $ kubectl rollout status deploy/web #查看升级状态

应用回滚

$ kubectl rollout history deploy/web #查看版本 $ kubectl rollout undo deploy/web #回滚到上一个版本 $ kubectl rollout undo deploy/web --to-revision=1 #回到指定版本

扩缩容

$ kubectl scale deployment web --replicas=10 #扩容 $ kubectl scale deployment web --replicas=1 #缩容

daemonSet

功能 在每一个node上运行一个POD 新加入的node也会自动运行一个POD 引用场景: Agent

Job

分类 普通Job 定时任务 特点: 一次性执行 应用场景: 离线数据处理,视频解码业务

$ cat job.yml apiVersion: batch/v1 kind: Job metadata: name: pi namespace: prod spec: template: spec: containers: - name: pi image: perl command: ["perl","-Mbignum=bpi","-wle","print bpi(20000)"] restartPolicy: Never backoffLimit: 4 $ kubectl get pod -n prod $ kubectl get job -n prod $ kubectl logs -f pi-rjdhm -n prod

CronJob

定时任务,类似于linux的crontab 用用场景: 通知任务,备份任务

$ vim cronjob.yml apiVersion: batch/v1beta1 kind: CronJob metadata: name: cron namespace: prod spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date;echo hello from the kubernetes cluster restartPolicy: OnFailure $ kubectl get cronjob -n prod $ kubectl logs -f cron-1595347620-nptsf -n prod

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java架构设计之六步拆解 DDD
下一篇:你知道嵌入式Linux系统下Microwindows的应用?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~