Kubernetes开源书 - 周立本⽂概述了Kubernetes集群中所需的各种组件。 Master组件 Master组件提供K8s集群的控制⾯板。Master对集群进⾏全局决策(例如调度),以及检测和响应集群事件(例如:当 replication controller所设置的 replicas 不够时,启动⼀个新的Pod)。 Master可在集群中的任意节点上运⾏。然⽽,简单起⻅,设置脚本通常在同⼀个VM上启动所有Master组件,并且不会 在该VM上运⾏⽤户的容器。请阅读 d数据提供备份计划。 kube-controller-manager kube-controller-manager 运⾏Controller,它们是处理集群中常规任务的后台线程。逻辑上来讲,每个Controller都是⼀ 个单独的进程,但为了降低复杂性,它们都被编译成独⽴的⼆进制⽂件并运⾏在⼀个进程中。 这些控制器包括: Node Controller:当节点挂掉时,负责响应。 Replication Replication Controller:负责维护系统中每个replication controller对象具有正确数量的Pod。 Endpoints Controller:填充Endpoint对象(即:连接Service&Pod)。 Service Account & Token Controllers:为新的namespace创建默认帐户和API access tokens。 cloud-controller-manager0 码力 | 135 页 | 21.02 MB | 1 年前3
QCon北京2017/智能化运维/Self Hosted Infrastructure:以自动运维 Kubernetes 为例Discovery yellow.mycluster Select color = yellow Load balancing Controller manager 5 Healing Controller manager 5 Healing Controller manager 5 Healing People love automation! I hate Kubernetes! kubelet - Systemctl start kubelet Installation - master - SSH - Install scheduler - Install controller manager - Install API server - Config them correctly - Start them Installation - etcd - SSH - kubectl apply -f kube-apiserver.yaml $ kubectl apply -f kube-scheduler.yaml $ kubectl apply -f kube-controller-manager.yaml $ kubectl apply -f kube-proxy.yaml Simplify k8s lifecycle management Manage your0 码力 | 73 页 | 1.58 MB | 1 年前3
Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践域的复杂有状态应用程序。 给出了用 TPR + controller- runtime 早期版本的 sample: etcd operator K8s 1.9 版本发布,CRD进入 beta 阶段并正式取代 TPR; controller-runtime 加入 K8s 社 区并正式发布; 自此,CRD + controller-runtime 逐渐成为开发 operator Application; Operator = CRD + control loop, i.e, Declaretive API + Automation; kubebuilder + controller-runtime + helm Operator Capability Levels Installation of the workload • Operator deploys an 的是最终一致性(eventual consistency)。 期间遇到网络、API Server 报错等异常时,会有重试机制 Controller-runtime 的 Informer 增加一段逻辑:如果上层 GET 某个 object 没有对应的 informer, controller-runtime 会马上为其增加 informer 并完成初始化 Cache 注意事项 Cache 中的对象都保存0 码力 | 21 页 | 3.06 MB | 9 月前3
Go Programming Pattern in Kubernetes PhilosophyKubernetes developers: • The Golang programming patterns of Kubernetes (Controller, codegen etc) • Write your own Controller • gPRC based interface design in Kubernetes (CRI as example) • For Pattern 1: Controller • Control everything by Controller • Level driven, not edge driven edge level Image: https://speakerdeck.com/thockin/edge-vs-level-triggered-logic Controller • The heart getDesiredState() current := getCurrentState() makeChanges(desired, current) } • Write your own controller! Why DIY? Container Pod Deployment I need co-scheduling I have many Pod replicas Service0 码力 | 29 页 | 2.12 MB | 1 年前3
KubeCon2020/腾讯会议大规模使用Kubernetes的技术实践Application & Route Management VWA Controller (Vertical Workload Autoscaler) HPAPlus Controller HNA Controller Auto Scale CronHPA Controller CLB-Service/Ingress-Controller Efficient and reliable container ManualBatchDeploy AutoBatchDeploy InPlaceUpdate HPAPlus Controller BatchRollback CoverUpdate ScaledUpWithLGV PodAutoMigrate VWA-Controller CronHPA Controller StatefulSetPlus Operator StatefulSetPlus-Operator �������������������������������� VWA-Operator VWA ( Vertical Workload Autoscaler ) Ø Deploy HPAPlus-Controller independently. Ø High Performance. Ø Personalized configuration of HPA objects. Ø Calculate0 码力 | 19 页 | 10.94 MB | 1 年前3
运维上海2017-分布式数据库系统TiDB在Kubernetes平台的自动化运维实践-邓栓replicasets! ! * kubectl get pods! k8s ����! Kubernetes Operator ��! • �������(TPR/CRD)! • �� k8s controller�����������! • ������upgrade, scale, failover, backup! • ��������! ����������������! ������ tidb-controller-manager! • tidb-scheduler! • tidb-volume-manager! tidb-controller- manager! • �� k8s ���� CRD: TidbCluster, TidbSet! • �� TiDB ����� Controller: ! * tidbcluster-controller! * pd-controller pd-controller! * tikv-controller! * tidb-controller! * gc-controller! • ������������������������! tidb-scheduler! • �� k8s �� scheduler ������(cpu/memory/ affinity)! • �� k8s scheduler ���� PV ���!0 码力 | 32 页 | 3.47 MB | 1 年前3
基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜Service Monitor Istio Virtual Service Deployment Ingress Service YAML 文件 代码、应用、CICD 流水线 容器 Pod Controller 调度 Node Sidecar CNI CSI 为了更好的用户体验: 用户 期望: K8s 提供: 研发与运维人员日益增长的应用管理诉求 传统 PaaS 有限的、不可扩展的专有API 简单的“客户端”抽象: DCL (Data Configuration Language) 对 K8s 资源进行抽象实际上就是在操纵 YAML 数据,通过 DCL 来完成相比于 CRD + controller 更简单 CUE • 功能强大:专注于操纵数据,而不是写 代码 • 完全兼容 JSON • 简单直观:schema 和 value 语法一致 完整的 k8s YAML 抽象数据 PaaS Image Registry Operational Configs (YAML) Revision Controller Scaling Controller Rollout Controller kubectl apply Workload Controller Kubernetes metrics traffic Workloads (YAML) Continuous0 码力 | 27 页 | 3.60 MB | 9 月前3
k8s操作手册 2.3#查看k8s其他组件的docker镜像名,默认用 k8s.gcr.io/的镜像源地址 k8s.gcr.io/kube-apiserver:v1.19.4 k8s.gcr.io/kube-controller-manager:v1.19.4 k8s.gcr.io/kube-scheduler:v1.19.4 k8s.gcr.io/kube-proxy:v1.19.4 k8s.gcr.io/pause:3 /etc/kubeadm-init.yaml #查看需要的镜 像 cof-lee.com:5443/k8s/kube-apiserver:v1.19.4 cof-lee.com:5443/k8s/kube-controller-manager:v1.19.4 cof-lee.com:5443/k8s/kube-scheduler:v1.19.4 cof-lee.com:5443/k8s/kube-proxy:v1 #查看k8s其他组件的docker镜像名,默认用 k8s.gcr.io/的镜像源地址 registry.k8s.io/kube-apiserver:v1.28.2 registry.k8s.io/kube-controller-manager:v1.28.2 registry.k8s.io/kube-scheduler:v1.28.2 registry.k8s.io/kube-proxy:v1.28.2 registry0 码力 | 126 页 | 4.33 MB | 1 年前3
K8S安装部署开放服务metadata: name: traefik-ingress-controller --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: traefik-ingress-controller rules: - apiGroups: [""] io/v1beta1 metadata: name: traefik-ingress-controller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: traefik-ingress-controller subjects: - kind: ServiceAccount name: traefik-ingress-controller namespace: default kubectl apply -f 2-rbac.yaml Step3: 创建 traefik 配置文件的 configmap vi 3-configmap.yaml kind: ConfigMap apiVersion: v1 metadata:0 码力 | 54 页 | 1.23 MB | 1 年前3
第1930期:Kubernetes基础介绍TP Rest接口的关键服务,是k8s集群里所有资源的增删查改等操 作的唯一入口,也是集群控制的入口进程。并提供认证、授权、访问控制、API注册和发现等机制 Controller Manager控制管理器(kube-controller-manager):k8s里所有资源对象的自动化控制中心,可以理解为 资源对象的“大总管”。运行着所有处理集群日常任务的控制器。包括节点控制器、副本控制器、端点控制器及服务账号 的分组管理,同时实现了整 个集群的高可用性。 17 www.h3c.com Confidential 秘密 17 17 K8s基本概念和术语介绍(RC) RC Replication Controller(副本管理器)和RS(Replica Set): RC定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值。RC包含如下几部分: Pod期待的副本数(replicas) 当定义一个rc之后,master节点的controller manager组件就得到通知,定期巡检系统中存活的目标pod,并确保目 标pod实例的数量刚好等于此rc的期望值,如果有过多pod运行,系统就会停掉一些,否则会创建一些。通过rc, kubenetnes实现了用户应用集群的高可靠性,并大大减少了很多运维工作。 Replication Controller在k8s 1.2版本之后升级成了新的概念,Replica0 码力 | 49 页 | 4.11 MB | 1 年前3
共 38 条
- 1
- 2
- 3
- 4













