Over engineeringthe core of Kubernetes kops------ {{ range $m := Masters }} loadBalancerAttachment/api-elb-attachment.{{ $m.Name }}.{{ ClusterName }}: loadBalancer: loadBalancer/api.{{ ClusterName }} autoscalingGroup: autoscalingGroup/{{ ---------------------------------- {{ range $zone := .Zones }} Kris Nova Over engineering the core of Kubernetes kops Kris Nova About Me Kris Nova “I work in the cloud...” Kris Nova In my free ------ {{ range $m := Masters }} loadBalancerAttachment/api-elb-attachment.{{ $m.Name }}.{{ ClusterName }}: loadBalancer: loadBalancer/api.{{ ClusterName }} autoscalingGroup: autoscalingGroup/{{0 码力 | 75 页 | 4.56 MB | 1 年前3
全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdash开放应⽤模型(OAM)项⽬ Core Maintainer • jianbo.sjb@alibaba-inc.com • 阿⾥存量 PaaS 对接 Kubernetes 的新挑战 • 研发和运维对 Kubernetes YAML ⽂件的看法 • 阿⾥对解耦研发和运维的实践与教训 • 标准化、统⼀化的应⽤管理 阿里巴巴大规模容器化基础设施 新挑战 • 研发:Kubernetes API 太复杂? • • 运维:如何上手 Kubernetes 的扩展能力? • 如何通过 Kubernetes 全面管理云资源(含虚拟机、VPC 等)? K8s API 太复杂? All in one。 思考题: 对于一个 K8s 应用的描述,大家的关注点是? • 研发关心 根本看不懂 • 运维关心 某内部 PaaS 精挑细选,只剩下 ~5 个 Deployment 的字段允许研发填写。 简单却能力不足: 搞定一切! RDS SLB VPC • 对研发屏蔽 K8s API • 对运维简化 K8s API • 自由描述非 K8s 资源 每个公司/团队都有自己的应用定义 …… 思考题: • 标准吗?能复用吗? • 如何与开源生态协作? • 如何迭代、演进? Pinterest 有赞 Kubernetes API 到底应该怎么玩儿? Kubernetes Deployment Service0 码力 | 26 页 | 6.91 MB | 1 年前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
基于Kubernetes构建容器云平台的实践
- UCloud优刻得实验室负责⼈ 叶理灯分析 集群管理理 版本管理理 配置管理理 链路路跟踪 负载均衡 ⾃自动容灾 持续集成 持续部署 灰度发布 服务注册/发现 关系数据库 KV存储 对象存储 块存储 DNS 消息队列列 API- Gateway 镜像仓库 统⼀一代码管理理 统⼀一编程框架 统⼀一通讯协议 统⼀一部署环境 计算平台/KUN 公共服务 存储平台 Think in Cloud . 北北京 基于RBAC实现 体上⽐比较复杂、⽽而复杂往往和可靠性成反⽐比 Dual Stack IPv4 IPv6 CIDR /64 --- IPv4 --- IPv6 集群外 服务器器 Core Core 接⼊入交换机 6to4 tunnel 接⼊入交换机 6to4 tunnel Core 接⼊入 交换机 Service eth0 eth0 veth veth Pod veth Pod veth ⽹网 桥 Operator 于 API server 交互,Watch 全部的 Namespace 或者特 定Namespace中对CR的创建、更更新、删除事件 • Operator 处理理这些事件,可以使⽤用 k8s 中的pod、deployment、 statefulset 对象构建应⽤用 Operator⼯工作原理理 Operator Kubernetes API Server Informer0 码力 | 30 页 | 3.52 MB | 1 年前3
QCon北京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 Kubernetes? What is self-hosted Kubernetes? ● Kubernetes manages own core components ● Core components deployed as native API objects Self-hosted k8s Architecture Why Self-host Kubernetes? ● Operational0 码力 | 73 页 | 1.58 MB | 1 年前3
01. 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 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 Resource status0 码力 | 12 页 | 1.08 MB | 1 年前3
QCon北京2018/QCon北京2018-《Kubernetes-+面向未来的开发和部署》-Michael+ChenVMware, Inc. The “App” Docker and Kubernetes Kubernetes Orchestrating Multiple Containers • Core docker functionality provides the tooling to create and run single containers – Very manual, no 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-2FfFD2PU0 码力 | 42 页 | 10.97 MB | 1 年前3
Kubernetes + OAM 让开发者更简单数据库 安全服务 网络 存储 Pod Deployment Service Node Custom Resource 一组容器 一组 Pod 副本 Pod 的访问入口 节点 自定义对象 声明式 API 对象 基础设施层能力 业务运维 平台工程师 业务研发 扩容策略 发布策略 分批策略 访问控制 流量配置 应用管理平台 (Openshift、Cloudfoundry、阿里内部、腾讯内部 …) …) 应用 CI/CD 流水线 K8s PaaS K8s 但是,K8s PaaS 正面临着“能力困境” 研发与运维人员日益增长的应用管理诉求 PaaS 有限的、不可扩展的专有API 与能力 K8s 生态“无限”的应用基础设施能力 而且,PaaS 还面临着严重分化 PaaS A Kubernetes PaaS B PaaS C 研发效率 学习成本 同一个公司内数个 PaaS 统一、标准、高可扩展的云 原生应用管理平台 Component Trait 能力注册与管理 应用 Component Deployment Function apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: frontend annotations: description: Container workload0 码力 | 22 页 | 10.58 MB | 1 年前3
石墨文档Go在K8S上微服务的实践-彭友顺--go-errors_out={output directory} • 实现我们自定义的error类型,方便断言。 • 根据注解的code信息,在错误码中生成对应的grpc status code • 确保错误码唯一,后续在API层响应用户数据确保唯一错误码,例如: 下单失败(1008) • errors里设置with message,携带更多的错误信息 微服务的开发阶段 配置 对接 Debug • 配置驱动 • UserErrNotFound()) 微服务的开发阶段 • protobuf lint的注释,利于阅读文档 • 调试gRPC,服务中注入reflection.Register的方法 • 通过K8S API,选择环境、应用、pod, 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 value: 1 微服务的调用阶段 Resolver Balancer Auth Context • Kubernetes DNS Resolver VS Kubernetes API Server Resolver • DNS resolver is builtin in gRPC framework and its out-of-box for users • When connection0 码力 | 41 页 | 3.20 MB | 1 年前3
基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜loose.” Sited: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/ API 和业务原语 关注点不同 服务语义与抽象程度不同 交互与使用习惯不同 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当请求数上升 10% 时,自动扩 容 100 个实例 研发与运维人员日益增长的应用管理诉求 传统 PaaS 有限的、不可扩展的专有API 与能力 K8s 生态“无限”的应用基础设施能力 不停构建“PaaS”平台不是“银弹” 与其 基于 K8s 构建平台 不如 把 K8s 变成面向开发者的平台 构建一个具备“以应用为中心的 API 抽象”、“用户友好” 且“高度可扩展”的 K8s! 以应用为中心的 API 抽象 • 应用的工作负载和运维能力的抽象程度越高,用户体验越好 WebService - image - replicas - port 抽象 Deployment - image - replicas Service - port 原始 k8s API 资源 Workload - image - replicas Rollout - canary ArgoRollout - image - replicas - rollout0 码力 | 27 页 | 3.60 MB | 9 月前3
共 66 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













