Kubernetes开源书 - 周立
01-什么是Kubernetes 02-安装单机版Kubernetes 03-使⽤Kubespray部署⽣产可⽤的Kubernetes集群(1.11.2) 04-K8s组件 05-Kubernetes API 06-理解K8s对象 07-Name 08-Namespace 09-Label和Selector 10-Annotation 11-K8s架构及基本概念 12-Master与Node的通信 允许⽤户使⽤⾃定义信息来装饰资源以⽅便他们的⼯作流程, 并为管理⼯具提供检查点状态的简单⽅法。 此外, Kubernetes control plane 所⽤的API 与开发⼈员和⽤户可⽤的API相同。⽤户可以使⽤ their own API 编写⾃⼰ 的控制器,例如 scheduler ,这些API可由通⽤ command-line tool 定位。 这种 design 使得许多其他系统可以构建在Kubernetes上。 io/article/8136 启⽤Kubernetes Dashboard 执⾏: kubectl proxy 02-安装单机版Kubernetes 8 访问: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview? namespace=default0 码力 | 135 页 | 21.02 MB | 1 年前3QCon北京2017/智能化运维/Self Hosted Infrastructure:以自动运维 Kubernetes 为例
Install API server - Config them correctly - Start them Installation - etcd - SSH - Install etcd - Config them correctly - Start them Installation kops, kubeup.sh, kube-AWS,... AWS, GCP API node1 AWS, GCP API node1 node2 node3 Rollback ??? AWS, GCP API node1 node2 node3 Healing AWS, GCP API node2 node3 Healing AWS, GCP API node2 node3 node1’ Create node Healing AWS, GCP API node2 node3 self-hosted Kubernetes? ● Kubernetes manages own core components ● Core components deployed as native API objects Self-hosted k8s Architecture Why Self-host Kubernetes? ● Operational expertise around app0 码力 | 73 页 | 1.58 MB | 1 年前3第29 期| 2023 年9 月- 技术雷达
OpenCost 79. OpenRewrite 80. OrbStack 81. Pixie 82. Tabnine 暂缓 — 采纳 83. Playwright 试验 84. .NET Minimal API 85. Ajv 86. Armeria 87. AWS SAM 88. Dart 89. fast-check 90. Kotlin with Spring 91. Mockery 92. Netflix OpenTelemetry 94. Polars 95. Pushpin 96. Snowpark 评估 97. 基准配置文件 98. GGML 99. GPTCache 100. 语法性别 API 101. htmx 102. Kotlin Kover 103. LangChain 104. LlamaIndex 105. promptfoo 106. Semantic Kernel 107 构文件一样最终被归档和遗忘。 3. 具有可访问性意识的组件测试设计 试验 在软件交付进程中,可访问性要求是 Web 组件测试阶段的一种考察指标。尽管诸如 chai-a11y-axe 的测试框架 插件 API 已提供了基础的可访问性断言,具有可访问性意识的组件测试设计依然能够帮助测试进一步检验屏幕 阅读器和其他辅助技术所需的全量语义元素。 首先,在测试验证元素时,通过 ARIA 角色或者元素的其它语义化属性查找元素,而不采用元素的0 码力 | 43 页 | 2.76 MB | 1 年前3QCon北京2018/QCon北京2018-《Kubernetes-+面向未来的开发和部署》-Michael+Chen
Highest Level • Container Cluster = “Desired State Management” – Kubernetes Cluster Services (w/API) • Node = Container Host w/agent called “Kubelet” • Application Deployment File = Configuration File be running Worker Node Worker Node Worker Node Kubernetes Master Node (Master & etcd nodes) API K K K App_Y.yaml ContainerImage1 Replicas: 1 ContainerImage2 Replicas: 2 https://youtu.be/PH-2FfFD2PU Master API Cluster A Worker Worker Worker Kubernetes Master API Cluster B Operator Developer Architecture PKS Controller IaaS Worker Worker Kubernetes Cluster Services API Cluster30 码力 | 42 页 | 10.97 MB | 1 年前3Go Programming Pattern in Kubernetes Philosophy
targetAverageUtilization: 50 • API Object Oriented Programming Core of API “OO” 1.API objects stores in etcd 2.Control loops (Sync Loop) to reconcile API objects Example kubelet SyncLoop proxy proxy 1 Pod created etcd scheduler api-server Example kubelet SyncLoop kubelet SyncLoop proxy proxy 2 Object added etcd scheduler api-server Example kubelet SyncLoop kubelet SyncLoop a node etcd scheduler api-server Example kubelet SyncLoop kubelet SyncLoop proxy proxy 4.1 Detected bind operation 4.2 Start Pod on this machine etcd scheduler api-server Pattern 1: Controller0 码力 | 29 页 | 2.12 MB | 1 年前301. K8s扩展功能解析
Services (Networking, Storage, DNS, Load Balancer, Security) master master api api © 2017 Rancher Labs, Inc. Kubernetes 1.7的扩展特性 • API aggregation(beta) • CustomResourceDefinitions(beta) • Support for extensible flexible way to extend managed resource into a current Kubernetes cluster • Auto-generated API in Kubernetes API server • Customized resource controller to implement your business logic of managed resource and Resource Item my-crontab.yaml © 2017 Rancher Labs, Inc. How Does The Controller Work ETCD API Server Kubernetes Core controllers added creating running stoped deleted Resource Item Resource0 码力 | 12 页 | 1.08 MB | 1 年前3Kubernetes 容器编排与应用编排
Pod 1. 定时执行的批处理任务 2. 定时任务并发策略 * Allow * Forbid * Replace 3. 支持单任务并发控制 一个简单的编排案例 Client API DB API Proxy DB Proxy DB Backup Monitoring Deployment StatefulSet Service CronJob DaemonSet 重新审视这个例子 Client API DB API Proxy DB Proxy DB Backup Monitoring 无状态应用 有状态应用 守护型应用 批处理任务 应用编排架构 应用编排架构 API Gateway APP API Service A APP API Service B APP Cache APP API Service D APP File Kubernetes Cluster Application Registry Application Manager Application A Application … API Gateway API Service A API Service B 应用编排架构 Application Registry - Helm Registry Helm Chart Helm Registry 10 码力 | 20 页 | 4.22 MB | 1 年前3全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdash
阿⾥对解耦研发和运维的实践与教训 • 标准化、统⼀化的应⽤管理 阿里巴巴大规模容器化基础设施 新挑战 • 研发:Kubernetes API 太复杂? • 运维:如何上手 Kubernetes 的扩展能力? • 如何通过 Kubernetes 全面管理云资源(含虚拟机、VPC 等)? K8s API 太复杂? All in one。 思考题: 对于一个 K8s 应用的描述,大家的关注点是? • 研发关心 搞定一切! RDS SLB VPC • 对研发屏蔽 K8s API • 对运维简化 K8s API • 自由描述非 K8s 资源 每个公司/团队都有自己的应用定义 …… 思考题: • 标准吗?能复用吗? • 如何与开源生态协作? • 如何迭代、演进? Pinterest 有赞 Kubernetes API 到底应该怎么玩儿? Kubernetes Deployment Service Ingress Kubernetes K8s 团队 运维能力的模块化描述 API 运维 研发视角的应用描述 API 研发 K8s 的 All-in-One API K8s + 分层化 API 设计 K8s 原生 API 区分使用者角色的分层应用定义 + 模块化封装的运维能力 = 应用模型 OAM:以应用为中心的 K8s API 分层模型 Kubernetes K8s 团队 Trait +0 码力 | 26 页 | 6.91 MB | 1 年前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
Operator Pattern 2015.11 2016.12 2017.12 Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 试解决 K8s API 的扩展性问题, 但存在诸多问题,Alpha 阶段既 夭折 CoreOS 提出 Operator 概念,用 于管理和运行基于应用程序领 域的复杂有状态应用程序。 给出了用 TPR + controller- Pattern 是官方定义的标准扩 展机制,是 K8s Native Application; Operator = CRD + control loop, i.e, Declaretive API + Automation; kubebuilder + controller-runtime + helm Operator Capability Levels Installation 机制获取某种资源的 全量 objects。list 可以简单理解为一个 HTTP GET 请求,watch 为一 个 HTTP/2 长连接 Cache 如何保持与 API Server 一致性 list & watch 机制中,list 获取 API Server 中数据的一份快照,并记 录 ResourceVersion 版本信息,watch 从 ResourceVersion 开始,获取后 续的增量数据。0 码力 | 21 页 | 3.06 MB | 9 月前3涂小刚-基于k8s的微服务实践
ai-dc-api ai-dc-api ai-dc-api 业务线名称 ai dt ad 现有环境名 test preview prod 统一规划环境名和业务应用名,适配标准自动化运维。 业务线名称采用拼音首字母缩写 k8s-namespaces 环境名称定义采用业务线缩写名加环境名组成 k8s-service名称、app名称和应用名称包名保持一致 k8s-api配置对象 作用 容器host应用名称,deployment 名,通过配置文件关键字关联业务线应用名称,保持应用和k8s之间的关联。 规范 范例 应用名称 ai-dc-server ai-dc-web ai-dc-api 镜像版本和git版本库规范 制定git版本规范,开发提交合并master代码,git版本库和业务版本进行关联,出了问题好定位问题。 采用docker容器化之后,ci-cd由运维平台集中控制, 实例kube-apiserver,kube- scheduler和kube-controller- manager 其中三个控制平台节点运行 keeplived和haproxy,node节点 和api-server通讯通过vip对 接,haproxy将流量转发至 apiserver 每个控制平面节点创建一个本 地etcd成员,该etcd成员仅与 kube-apiserver该节点通信 kubernetes0 码力 | 19 页 | 1.34 MB | 1 年前3
共 62 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7