kubernetes-- 负载

 k8s 多种负载的使用:

  • deployment :无状态服务, 如微服务、提供多副本等功能
  • StatusfulSet:有状态, 如redis提供稳定的存储、网络等功能
  • DeamonSet:守护进程, 比如:日志收集组件,每台机器有且只有一份
  • job/Cronjob:   定时任务, 如指定时间运行

 

 

 Deployment

控制Pod,使Pod拥有多副本,自愈,扩缩容等能力

# 创建pod
kubectl create deployment mytomcat --image=tomcat:8.5.68

 

多副本

kubectl create deployment mytomcat --image=nginx  --replicas=3

查看

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: my-dep
  name: my-dep
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-dep
  template:
    metadata:
      labels:
        app: my-dep
    spec:
      containers:
      - image: nginx
        name: nginx
复制代码

 

扩缩容能力

# 扩容2台
kubectl scale --replicas=5 deployment/my-dep

# 缩容3台
kubectl scale --replicas=2 deployment/my-dep

 

自愈&故障转移
  • 停机
  • 删除pod
  • 容器崩溃
  • 节点机器宕机
  • .......

 

滚动更新

# 热升级
kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record # 查看状态
kubectl rollout status deployment
/my-dep


# 第二种热升级(修改yaml)
kubectl edit deployment/my-dep

 

版本回退

复制代码
#历史记录
kubectl rollout history deployment/my-dep


#查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2

#回滚(回到上次)
kubectl rollout undo deployment/my-dep

#回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2
复制代码

更多:

除了Deployment,k8s还有 StatefulSetDaemonSetJob 等 类型资源。我们都称为 工作负载

有状态应用使用 StatefulSet 部署,无状态应用使用 Deployment 部署

https://kubernetes.io/zh/docs/concepts/workloads/controllers/

 

 

posted @   萤huo虫  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示