IT 铁人赛 k8s 入门30天 -- day15 k8s Workload 简介

前言

今天要讲的是 k8s 丛集对於 Workload 管理做讲解

Pod 的管理

以下将会解释一些名词定义, 以方边後续解说

Workload

以下引用k8s 官方文件 Workload

一个应用跑在 k8s 丛集上叫作 Workload

Workload 可以是一到多个 Pod 所组成

Pod 生命周期

以下引用k8s 官方文件 Pod 生命周期

Pod 整个运行周期, 可以分成几个阶段

Pending: 当 Pod 被 kubelet 开始生成 Pod 所需资源, 但还没完成资源建立

Running: 当 Pod 建立完成, 所有资源都建立完成, 但还有些 Container 没有到 Desired staus 或是即将 Restart

Succeeded: 所有 Container 都成功运行, 并且没有 Restart

Failed: 所有 Container 都进结束运行, 并且至少有一个是因为失败而结束

Unknown: 发生某些因素造成 Pod 状态无法获取

状态转换图描述如下:

前面有很多章节在讲解到 Pod 的发布, 都是直接透过 Deployment 来处理

然而, 其实还是可以独立产生一个 Pod

Pod 本身具有上述的生命周期需要注意

所以 k8s 丛集并不是直接与 Pod 做互动

而是透过一些管理元件来处理, 比如说 Deployment, ReplicaSet 等等

这些管理元件被称为 Workload Resources

要达成一个 Workload 就会透过以下 Workload Resources 来进行管理

ReplicaSet

k8s 丛集用 ReplicaSet 来管控多个相同 Pod 组成的集合能够维持一定的量

透过 selector 来找寻对应 labels 的 Pod

Deployments

k8s 丛集用 Deployments 来管控多个 ReplicaSet

当 Deployment 建立时, replicas 参数用来设定 ReplicaSet 建立的数量

范例语法如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

StatefulSet

k8s 丛集用 StatefulSet 来运行一或多个相关具有状态的 Pod

举例来说:

当一个 Workload 需要保存状态, 这时就可以使用 StatefulSet 来建立

并且让每个 Pod 都有 PersistentVolume 来存放状态

透过 StatefulSet 可以拓展资料备份, 让 Workload 更据可靠性

DaemonSet

k8s 丛集用 DaemonSet 来运行提供节点上一些基础功能的 Pod,

比如一些网路辅助功能工具, 或是一些扩充工具

Job & CronJob

Job 代表一些只跑一次的工作

CrobJobs 则会根据定义的排程周期去执行

後话

在更大的 k8s 生态系, 可能会找到更多第三方提供的 Workload Resources 来定义更多运行方式

k8s 提供 custom resources definition 来使用这些第三方提供的 Workload Resources

这样就可以提供更多样性, 更完善的运行 Pod 的方式


<<:  [Day 29] 资料产品开发实务 - 自动贴标系统

>>:  我跟你一百万,再大你一百万,再show hand - 跟庄家吃香喝辣 ?

Day21 切版笔记- 图文满版区块

铁人赛的前20天,把常常混淆的那些观念重新理解过一遍之後,後面的10天打算来练习切版,希望透过实际练...

DAY24-EXCEL统计分析:共变数介绍

共变数covariance 共变数是用来衡量两个变数变动的方向及程度。若两变数分别X跟Y,如果X的变...

【Day 18】Google Apps Script - API 篇 - Spreadsheet Service - 电子试算表服务范例-新增标题

来练习帮 Google Sheets(电子试算表)增加一点内容吧。 今日要点: 》Spreadsh...

Day2-K8s?

一个技术要火起来有时候不只要有真本事?还需要一点时机,巧合,比如发明平板的其实是微软,但让平板走入大...

Day30 帝君最爱 凤九拿手菜-糖醋鲈鱼

始於糖醋,终於糖醋,一如挑战30天铁人出好菜的滋味,酸酸甜甜 最後一场铁人,再次挑战炸物料理,有了...