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

2021-06-22
Kubernetes -- 应用开发视角
云原生架构Cloud Native App Applications adopting the principles of Microservices packaged as Containers orchestracted by Platforms running on top of Cloud infrastructure, developed using practices such as Continous Delivery and DevOps. 云演进史 Kubernetes目标 Kubernetes本质上是为了简化微服务的开发和部署,解决微服务的公共关注点 架构 架构模式:Master-Slave Node可以是物理机也可以是虚拟机 Master(为保证HA,Master也是多节点部署,但真正做调度决策的只有一个Master节点,因此涉及到选主) etcd(单独部署) 基于KV的分布式存储,底层采用Raft协议,保存Kubernetes的状态数据 API Server 对外提供操作和获取Kubernetes集群资源的API,唯一可以操作etcd的组件 – 被Google和Re...

2022-12-05
Kubernetes - Controller Manager
工作流程 Informer Framework 和 Lister Framework 可以借助代码生成器生成 Lister 维护了一份 API Server 的缓存数据(减少对 API Server 的访问压力) Informer 会通过 Indexer 为对象计算一个 Key,然后入队,Worker 会消费队列,并从 Lister 查询缓存数据 核心 Controller Controller Manager 是 Controller 的集合 Controller Desc API Job Controller 处理 Job Cronjob Controller 处理 Cronjob Pod AutoScaler 处理 Pod 的自动扩缩容 HorizontalPodAutoscaler RelicaSet 依据 RelicaSet Spec 创建 Pod Service Controller 依据 Service 的 LoadBalancer Type 创建 LB VIP ServiceAccount Controller 确保 Servi...

2022-12-03
Kubernetes - API Server
概述 API Server 提供集群管理的 REST API 提供其它模块之间数据交互和通信的枢纽 其它模块通过 API Server 查询或者修改数据,只有 API Server 才能直接操作 etcd 访问控制:认证 + 鉴权 + 准入 Mutating Admission 可以修改对象,而 Validating Admission 不可以修改对象 认证 开启 TLS 时,所有请求都需要首先认证 Kubernetes 支持多种认证机制,并支持同时开启多个认证插件(只需要有 1 个认证通过即可) 如果认证成功,进入鉴权模块,如果认证失败,则返回 401 认证插件 X509 证书 在 API Server 启动时配置 --client-ca-file CN 域(CommonName)用作用户名,而O 域(Organization)则用作 Group 名 静态 Token 文件 在 API Server 启动时配置 --token-auth-file 采用 csv 格式:token,user,uid,[group...] 引导 Token 目的:为了支持平滑地启动...

2021-07-11
应用编排与管理 -- Deployment
作用每个 Deployment 管理一组相同的应用 Pod(相同的一个副本) 实践YAML 文件nginx-deployment123456789101112131415161718192021apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3 # 期望的 Pod 数量 selector: # Pod Selector matchLabels: app: nginx template: # Pod Template metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 查看 Deployment123456789$ kubectl g...

2023-05-11
Kubernetes - Helm Doc
基本概念 Chart 包含在 Kubernetes 集群内部运行的应用程序、工具和服务所需的所有资源定义 Repository 用于存放和共享 Chart Release 运行在 Kubernetes 集群中的 Chart 实例 一个 Chart 可以在同一个集群中被安装多次,每次安装都会创建一个 Release 基本使用Search Source Desc hub 从 Artifact Hub 中搜索 repo 基于本地 repo 搜索,无需联网 hub123456$ h search hub wordpressURL CHART VERSION APP VERSION DESCRIPTIONhttps://artifacthub.io/packages/helm/kube-wordp... 0.1.0 1.1 this is my wordpress packagehttps://artifact...

2021-06-16
容器编排 -- Deployment
基本概念 Deployment实现了Pod的水平伸缩(horizontal scaling out/in) – 滚动更新(rolling update) 滚动更新依赖于ReplicaSet Deployment控制ReplicaSet(版本),ReplicaSet控制Pod(副本数)!! ReplicaSet ReplicaSet的定义是Deployment的一个子集 Deployment控制器实际操纵对象是ReplicaSet,而非Pod,Deployment所管理的Pod的ownerReference为ReplicaSet 12345678910111213141516171819apiVersion: apps/v1kind: ReplicaSetmetadata: name: nginx-set labels: app: nginxspec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx sp...
Announcement
Things are always unexpected!







