Kubernetes - Job/CronJob
|Word Count:6|Reading Time:1mins
生成模板
Job
CronJob
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2022-09-18
Kubernetes - Containerization
镜像 只读:依赖的文件系统、依赖库、环境变量、启动参数等 核心解决的问题:应用分发 应用容器化 应用不再直接与 OS 打交道,而是封装成镜像,再交给容器环境去运行 常用命令镜像 命令 作用 docker pull 从远端仓库拉取镜像 docker images 列出当前本地已有的镜像 docker rmi 删除不再使用的镜像 容器12$ docker run -h srv --rm alpine hostnamesrv 1234567891011121314151617181920$ docker run -d nginx:alpine6376e2649ef2d4a6073b977fcc4408f7a3f21b6f32775b42be85711b989dd6ce$ docker run -d --name redis_srv redis2a79d491ecb3108b07df7d369dfe8abc6ac314efc2054951ef7b77e0deba0584$ docker run -it --name ubuntu ubuntu sh# cat /etc/o...

2022-12-04
Kubernetes - Scheduler
概述 kube-scheduler 负责分配调度 Pod 到集群内的 Node 上 监听 kube-apiserver,查询还未分配 Node 的 Pod,然后根据调度策略为这些 Pod 分配 Node 123456789$ k get po -n kube-system coredns-7f6cbbb7b8-njp2w -oyamlapiVersion: v1kind: Podmetadata: ...spec: ... nodeName: mac-k8s ... 阶段 Stage Desc predicate 过滤不符合条件的 Node priority 优先级排序,选择优先级最高的 Node Predicates 过滤 Strategy Strategy Desc PodFitsHostPorts 检查是否有 Host Ports 冲突 PodFitsPorts 与 PodFitsHostPorts 一致 PodFitsResources 检查 Node 的资源是否充足 HostName 检查候选 Node 与 pod.Spec....

2022-10-30
Kubernetes - PersistentVolume
概述PersistentVolume Pod 里的容器由镜像产生,镜像文件本身是只读的,进程要读写磁盘需要一个临时的存储空间 一旦 Pod 销毁,临时存储会被立即释放,数据也就丢失了 PersistentVolume 用来表示持久存储设备,隐藏了存储的底层实现 PersistentVolume 实际是一些存储设备和文件系统,如 Ceph、GlusterFS、NFS、本地磁盘 PersistentVolume 是属于集群的系统资源,是和 Node 平级的对象,Pod 只有使用权 PersistentVolumeClaim + StorageClass PersistentVolumeClaim 和 StorageClass 是 Pod 与 PersistentVolume 之间的中间层 Pod 用 PersistentVolumeClaim 来向 Kubernetes 申请存储资源 bind:一旦资源申请成功,Kubernetes 会把 PV 和 PVC 关联在一起 StorageClass 类似于 IngressClass,抽象了特定类型的存储系统 在 PVC 和 PV 之间充当协调人...

2022-07-02
Kubernetes - Docker Principle

2023-02-13
FaaS - Function Invoke
函数拆分 成本 云函数的收费:调用次数、公网流量、占用资源时间(最贵) 复用 组件化 性能 对于非串行的功能,拆分成多个函数可以提高并发性 调用方式 同步、异步、编排(具有调度和管理的语义) 同步 需要注意调用延迟和超时带来的费用成本 直接调用 使用云厂商提供的 SDK,调用指定的函数,实现直接调用 12345678import fc2client = fc2.Client( endpoint='<Your Endpoint>', accessKeyID='<Your AccessKeyID>', accessKeySecret='<Your AccessKeySecret>')// 同步调用client.invoke_function('service_name', 'function_name') 网关调用 通过 API 网关调用函数,借助 API 网关来...

2023-02-02
Kubernetes - Security
层次模型 开发 分发 部署 运行时 容器运行时Non-root 在 Dockerfile 中通过 USER 命令切换成非 root 用户 防止某些镜像窃取宿主的 root 权限并造成危害 在某些容器运行时,容器内部的 root 用户与宿主上的 root 用户是同一个用户 宿主上的重要文件被 mount 到容器内,并被容器修改配置 即使在容器内部也应该权限隔离 123FROM ubuntuRUN user add AUSER A User namespace 依赖 User namespace,任何容器内部的用户都会映射为宿主上的非 root 用户 默认关闭,因为会引入配置复杂性 系统不知道宿主用户与容器用户的映射关系,在 mount 文件时无法设置适当的权限 Rootless container 容器运行时以非 root 身份启动 即使容器被攻破,在宿主层面获得的用户权限也是非 root 用户 Docker 和其它容器运行时本身的后台 Daemon 需要以 root 身份运行,其它的用户容器才能以 rootless 身份运行 某些运行时,如 Podman,没有 Daemon 进程,...
Announcement
Things are always unexpected!








