6、Kubernetes创建资源的两种方式/伸缩/处理Failover(故障切换)

一、创建资源的方式

Kubernetes 支持两种方式创建资源:
  1. 命令
  2. 配置文件

1.1、用 kubectl 命令直接创建

特点:
    1. 简单直观快捷,上手快。
    2. 适合临时测试或实验
kubectl run httpd-deployment --image=httpd --replicas=2  # --replica参数1.19版本后废弃
在命令行中通过参数指定资源的属性。

1.2、通过配置文件和 kubectl apply 创建

特点:
  1. 配置文件描述了what,即应用最终要达到的状态;
  2. 配置文件提供了创建资源的模板,能够重复部署;
  3. 可以像管理代码一样管理部署;
  4. 适合正式的、跨环境的、规模化部署;
  5. 熟悉yaml语法。
httpd-deployment.yaml:文件:
apiVersion: apps/v1         # 当前配置格式的版本
kind: Deployment            # kind 是要创建的资源类型
metadata:                   # metadata 是该资源的元数据,name 是必需的元数据项
  name: httpd-deployment  # pod名称
spec:                       # spec 部分是该 Deployment 的规格说明
  selector:               # 通过标签选择被控制的pod
    matchLabels:
      app: httpd
  replicas: 3             # 通过replicas声明pod个数是3
  template:               # template 定义 Pod 的模板,这是配置文件的重要部分
    metadata:          # metadata 定义 Pod 的元数据,至少要定义一个 label。label 的 key 和 value 可以任意指定
      labels:         # 给pod打上标签app=httpd
        app: httpd
    spec:               # spec 描述 Pod 的规格,此部分定义 Pod 中每一个容器的属性,name 和 image 是必需的。
      containers:     # 声明容器的名称、镜像、端口
      - name: httpd
        image: httpd
        ports:         # 需要暴露的端口库号列表
        - containerPort: 8080

部署应用:kubectl apply -f httpd-deployment.yaml

通过kubectl get查看httpd-deployment的各种资源:
Deployment、ReplicaSet、Pod 都已经就绪。
如果要删除资源,执行 kubectl delete deployment httpd-deployment 或者 kubectl delete -f httpd-deployment.yaml

二、Scale UP/Down

伸缩(Scale Up/Down)是指在线增加或减少 Pod 的副本数。
直接修改deployment.yaml文件中的spec.replicas值,然后kubectl apply -f httpd-deployment.yaml

三、k8s故障切换

https://www.cnblogs.com/benjamin77/p/9901775.html k8s的故障切换(failover)
3 个 httpd 副本分别运行在 node1 和 node2 上。现在模拟 node2 故障,关闭该节点(halt -h或者关机)。
等待一段时间,Kubernetes 会检查到 node2 不可用,将 node2 上的 Pod 标记为 Unknown 状态,并在 node1 上新创建两个 Pod,维持总副本数为 3。
当 node2 恢复后,Unknown 的 Pod 会被删除(pod的状态 Unkown状态 变为 Terminating 状态 最后这些pod会消失),不过已经运行的 Pod 不会重新调度回 node2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值