Kubernetes - Pod
|Word Count:4|Reading Time:1mins
描述
操作
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2023-02-15
FaaS - Workflow

2023-02-07
FaaS - Trigger
事件 事件为系统运行期间发生的动作或者发生的事情,而函数计算,提供了一种事件驱动的计算模型 CloudEvents 期望通过一种通用的格式描述事件数据的规范,以提供跨服务、平台和系统的互操作性 国内云厂商的事件规范程度:在其中一家云产品上开发了函数,一般都需要进行简单的适配才能迁移 CNCF Serverless 工作组针对函数和工作流均定义了相关的格式规范和原语 单函数的事件触发 多个简单函数通过异步调用的方式形成事件触发 复杂场景下通过 WorkFlow 来进行编排的事件交互 触发器概述 由事件驱动连接上下游服务的关系组合称为触发器 函数计算由云函数和触发器组成 触发器描述了一组关系和规则,包括核心要素:事件源、目标函数、触发条件 事件源:事件的生产者 目标函数:事件的处理者 触发条件:当触发条件满足时,就会通知函数计算引擎,调度对应的目标函数执行 触发器的元数据可以由服务方持久存储,也可以由函数托管平台和服务方共同持有 类型集成原则 区别:事件源和事件的规则存储在哪里,以及从哪里触发 单向集成触发器 双向集成触发器 代理集成触发器 设计触发器的主要考虑:事件源和函数计算的...

2021-06-08
Kubernetes -- 架构 & 设计思想
容器 本质:由Linux Namespace、Linux Cgroups和rootfs三种技术构建出来的进程的隔离环境 容器的视图 静态视图(Container Image):一组联合挂载在/var/lib/docker/aufs/mnt上的rootfs 动态视图(Container Runtime):由Namespace+Cgroups构成的隔离环境 开发人员并不关心Container Runtime的差异,因为承载容器信息进行传递的,是Container Image Kubernetes架构 角色:Master(控制节点)、Node(计算节点) Master kube-apiserver:负责API服务,整个集群的持久化数据,由kube-apiserver处理后保存在Etcd中 kube-scheduler:负责调度 kube-controller-manager:负责容器编排 Node:kubelet,为最核心的组件 CRI,Container Runtime Interface 主要负责与Container Runtime打交道 只要Container Runtime能够运行标准...

2022-12-06
Kubernetes - Kubelet
架构 每个 Node 上运行一个 Kubelet 服务进程,默认监听 10250 端口 接收并执行 Master 的指令 管理 Pod 以及 Pod 中的容器 在 API Server 注册 Node 信息,定期向 Master 汇报 Node 的资源使用情况 通过 cAdvisor 监控 Node 和容器的资源 cAdvisor 通过 Cgroups 收集并上报容器的资源用量 Node 管理 Node 自注册 + Node 状态更新 自注册模式:Kubelet 通过启动参数 --register-node 来确定是否向 API Server 注册 Kubelet 没有选择自注册模式 用户需要自己配置 Node 资源信息 告知 Kubelet 集群上的 API Server 的位置 Kubelet 选择自注册模式 Kubelet 定时向 API Server 发送 Node 信息 API Server 在接收到 Node 信息后,转存到 etcd Pod 管理 syncLoop - Kubelet 本身也是控制器模式 computePodActions - 比对 Pod...

2022-09-26
Kubernetes - Docker Hub
Registry Registry -> Repository Docker Hub 默认 Registry ImageOfficial Dockerhttps://hub.docker.com/u/library Verified Bitnami / Rancher / Ubuntu Unofficial半官方 开通 Verified publisher,需要付费 民间 个人镜像 Naming user/app:tagtag = version + osslim / fat OS Example Alpine / CentOS alpine3.15 Ubuntu 18.04 bionic Ubuntu 20.04 focal Debian 9 stretch Debian 10 buster Debian 11 bullseye FlowOnline1234567$ docker login -u zhongmingmaoPassword:WARNING! Your pas...

2022-11-08
Kubernetes - Cgroups
Namespace 隔离不完备 在 Linux 内核中,有很多资源和对象是不能被 Namespace 化的,例如时间 如果在容器中使用 settimeofday(2) 的系统调用,整个宿主机的时间都会被修改 Cgroups 在 Linux 中,Cgroups 暴露给用户的操作接口是文件系统 1234567891011121314151617181920$ mount -t cgroupcgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)cgroup on /sys/fs/cgroup/devices typ...
Announcement
Things are always unexpected!







