Kubernetes的Controller核心技术

欢迎大家进群,一起探讨学习

微信公众号

博主技术文档地址

博主开源微服架构前后端分离技术博客项目源码地址,欢迎各位star

运行容器化应用是Kubernetes最重要的核心功能。为满足不同的业务需要,Kubernetes提供了多种Controller,主要包括Deployment、DaemonSet、Job、CronJob等。

1、创建资源的两种方式

创建资源主要有通过命令行配置参数和通过配置文件这两种方式。
通过命令行主要是使用kubectl命令来进行创建,主要可能用到的是kubectl run和kubectl create,具体的用法我们可以在命令后面加上–-help参数来查看帮助文档。
这种方式的好处就是简单快捷,部署的速度比较快,但是遇到要求比较复杂多样的资源部署,后面就要附带一大串参数,容易出错,所以这种方式一般来说比较适用于小规模的简单资源部署或者是上线前的简单测试
通过配置文件则主要是json格式或yaml格式的文件,好处是可以详细配置各种参数,保留的配置文件还可以用到其他的集群上进行大规模的部署操作,缺点就是部署比较麻烦,并且需要一定的门槛

2.弹性收缩,升级回滚

nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: nginx
  name: nginx
spec:  #副本数
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx:1.14
        name: nginx
        resources: {}
status: {}

执行

kubectlapply -f nginx.yaml

应用升级(采用一个一个的进行升级,方便其它服务不会中断)

kubectlset image deploy nginx nginx=nginx:1.15

查询应用是否升级成功

kubectl rollout status deploy nginx

查看升级历史版本

kubectl rollouthistory deploy nginx

应用回滚上一个版本

kubectl rollout undo deploy nginx

应用回滚指定版本

kubectl  rollout undodeploy nginx --to-revision=2

弹性伸缩

kubectl scaledeploy nginx --replicas=10

3.无状态应用

4.守护进程

5.一次任务和定时任务

6.进入到pod容器中

kubectl exec -it nginx-764b95f4c5-bw5zw bash;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘明同学呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值