k8s基础入门之深入理解service

1 常用的控制器

controllers:在集群上管理和运行容器的对象,通过label-selector相关联,pod通过控制器实现应用的运维,如伸缩,滚动升级等。 控制器分为如下几种
  • Deployment
  • DaemonSet

1.1 Deployment相关介绍

功能
  • 部署无状态应用
  • 管理pod和replicaset(控制副本数量)
  • 具备上线部署,副本设定,滚动升级,回滚等功能
  • 提供声明式更新,例如只更新一个新的image
应用场景: web服务,微服务。 例子
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: default
spec:
   replicas: 3
   selector:
    matchLabels:
      app: nginx
   template:
    metadata:
      labels:
       app: nginx
spec:
   containers:
   - name: nginx
     image: nginx:latest
     ports:
     - containerPort: 80

声明式只更新images
kubectl set image deployment(资源类型) web(资源类型名称) nginx=nginx:1.16

更新的时候是先启动一个新的pod 然后关闭老的pod,升级方式为滚动更新

1.2 DaemonSet控制器

DaemonSet 功能
  • 在每一个node启动一个pod
  • 新加入的Node也会自动运行一个pod
应用场景
  • agent 类似监控
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: