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 // gcc source code #includeint main() { compile_c(argv[1]); } gcc Self hosting go // golang source code package main import "os" func main() { compile_go(os.Args[1:]) } go Self 0 码力 | 73 页 | 1.58 MB | 1 年前3
Over engineeringthe core of Kubernetes kops------ {{ range $m := Masters }} loadBalancerAttachment/api-elb-attachment.{{ $m.Name }}.{{ ClusterName }}: loadBalancer: loadBalancer/api.{{ ClusterName }} autoscalingGroup: autoscalingGroup/{{ Utility/Public subnet # - 1 NGW for the private subnet to NAT to # - 1 Route Table Association to the Main Route Table # - 1 Private subnet (to hold the instances) # ---------------------------------- Utility/Public subnet # - 1 NGW for the private subnet to NAT to # - 1 Route Table Association to the Main Route Table # - 1 Private subnet (to hold the instances) # ----------------------------------0 码力 | 75 页 | 4.56 MB | 1 年前3
Go Programming Pattern in Kubernetes PhilosophytargetAverageUtilization: 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 年前3
k8s操作手册 2.3kubeadm init --kubernetes- version=v1.19.4 \ --apiserver-adver�se- address=10.99.1.51 \ # api server地址 --pod-network-cidr=10.244.0.0/16 \ # pod容器网段 --service-cidr=10.7.0.0/16 \ # service网段,即cluster kubeadm init --kubernetes- version=v1.28.2 \ --apiserver-adver�se- address=10.99.1.51 \ # api server地址 --pod-network-cidr=10.244.0.0/16 \ # pod容器网段 --service-cidr=10.7.0.0/16 \ # service网段,即cluster kube-flannel-ds-24�m -n kube-system I0430 11:16:34.505952 1 main.go:518] Determining IP address of default interface E0430 11:16:34.506062 1 main.go:204] Failed to find any valid interface to use: failed0 码力 | 126 页 | 4.33 MB | 1 年前3
逐灵&木苏-阿里巴巴 K8S 超大规模实践经验调度能力提供给客户为什么 k8s 在阿里能成功 繁荣的社区和生态系统 Available to customers on/under cloud, within/outside alibaba. 申明式 API Matching Ali's design philosophy of the operation and maintenance system. 模块化、可扩展的架构设计 Sufficient 下沉应用的冗余度信息 容器即应用 运维平台 监控 VIP 服务注册 配置中心 启动完成 应用实例的生命周期 API Server Eviction Controller Kubernetes Platform沉淀公共运维能力 • Operator Platform Kubernetes API Server Operator Manager sidecar framework 运维能力 operator 运维平台 运维能力 编程框架 Kubernetes Platform不可变基础设施 base os dep2 dep1 config binary Docker K8s Pod main Container logtail sshd monitor 业务 ssh 日志 监控 通过 Dockerfile 打包应用 镜像,一次定义多次运行 通过镜像提供的组装机制 打包应用镜像,包含业务0 码力 | 33 页 | 8.67 MB | 6 月前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 • 调试信息 • 错误定位 微服务的测试阶段 测试类型 工具生成测试用例 简单高效做单元测试 protoc --proto_path=${ROOT}/examples/helloworld --go-test_out=pkg=main,paths=source_relative:. helloworld.proto • 业务代码中不要有框架、组件代码,减少单侧用例 • 业务代码做好接口级别单测,简单,快速 • prot0 码力 | 41 页 | 3.20 MB | 1 年前3
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 年前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 年前3
QCon北京2018/QCon北京2018-《Kubernetes-+面向未来的开发和部署》-Michael+ChenHighest 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 年前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 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 年前3
共 64 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













