在大规模Kubernetes集群上实现高SLO的方法0 码力 | 11 页 | 4.01 MB | 1 年前3
第29 期| 2023 年9 月- 技术雷达年就撰写了有关此主题的文章,但问题并没有消失。在 这期雷达中,我们讨论了许多现代工具和技术,它们采用更加细致入微的方法来衡量软件的创造过程,但这仍 然不够。幸运的是,业界已经不再使用代码行数作为产出衡量标准。然而,衡量框架 SPACE 中 A(Activity,活 动)的替代方法,例如拉取请求的数量或已解决的问题的数量,仍然不足以成为衡量生产力的良好指标。相反, 行业已经开始关注“工程效能” 采纳 采纳 本期雷达 新的 挪进 / 挪出 没有变化 © Thoughtworks, Inc. All Rights Reserved. 采纳 1. 设计系统 2. 轻量级的 RFCs 方法 试验 3. 具有可访问性意识的组件测试设计 4. 攻击路径分析 5. 自动合并依赖项更新 PR 6. 针对 FAIR 数据的数据产品思维 7. OIDC for GitHub Actions Cilium 52. 云服务的碳足迹 53. 容器结构测试 54. Devbox 55. DX DevEx 360 56. GitHub Copilot 57. Insomnia 58. IntelliJ HTTP 客户端插件 59. KEDA 60. Kubeconform 61. mob 62. MobSF 63. Mocks Server 64. Prisma 运行时防护 65. Terratest 660 码力 | 43 页 | 2.76 MB | 1 年前3
石墨文档Go在K8S上微服务的实践-彭友顺FromError(err), UserErrNotFound()) 微服务的开发阶段 • protobuf lint的注释,利于阅读文档 • 调试gRPC,服务中注入reflection.Register的方法 • 通过K8S API,选择环境、应用、pod, 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 • 展示各种组件gRPC、HTTP、MySQL、Redis、Kafka调试信息 • 六元组(配置名、请求URL、请求参数、响应数据、耗时时间、执行行号) • 响应数据结构是否正确 • 响应是否有错误 微服务的开发阶段 • 微服务的启动阶段 启动参数 加载配置 探活 滚动更新 软链接:filepath.EvalSymlinks(fp.path) 微服务的启动阶段 启动参数 加载配置 探活 滚动更新 • HTTP: server.Use(healthcheck.Default()) • gRPC: healthpb.RegisterHealthServer(newServer, health.NewServer())0 码力 | 41 页 | 3.20 MB | 1 年前3
KubeCon2020/微服务技术与实践论坛/Spring Cloud Alibaba 在 Kubernetes 下的微服务治理最佳实践-方剑services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable 离群实例摘除: 单点故障自愈 服务治理中心 订单服务 交易服务 4. 发起调用 3. 获取token 5. 校验签名和规则 6. 审计日志 7. 返回结果 Agent • 规则优先级: 方法级别 > 应用 • 鉴权方式:白名单(允许调用),黑名单(拒绝调用) • 签名校验 • 审计日志 Agent 用户 1. 配置访问控制规则 配置中心 2. 写入token和规则 购物车服务 10分钟恢复 故障应急 1-5-10原则 安全变更 4. 读取灰度规则 配置中心 3. 配置灰度规则 http-header: user-id % 100 == 20 • 两种灰度规则 • 按流量百分比路由 • 按请求特征路由:如http header, 方法参数等 • 打通微服务网关 提供者 1 消费者 提供者 2 version=gray 2. 注册环境标签 user-id=1210 码力 | 27 页 | 7.10 MB | 1 年前3
k8s操作手册 2.3底层网络接口,所以它根据ip route show去查找default via这行的网卡(有默认 路由的网络接口),但我们测试环境的服务器没有配置网关,所以它找不到默 认路由,导致flannel启动失败 解决方法是给服务加个网关(默认路由)或者在kube-flannel.yml里指定vxlan绑 定的网卡设备(不建议直接绑定网络接口名,因为不同的服务器接口名称可能 不一样,可匹配ip网段所在的网络接口) CGROUPS_MEMORY: missing [ERROR SystemVerifica�on]: missing required cgroups: memory 因为树莓派系统默认未启动cgroup_memory,解决方法: # vi /boot/firmware/cmdline.txt #如果有这个文件就编辑此文件 # vi /boot/cmdline.txt 主系统的这块veth 放到某个网桥里(如Docker0或cni0这些网桥) ★VxLAN大二层网络隧道 VxLAN是一种隧道技术,能在三层网络的基础上建立二层以太网络,vxlan的实 现方法是将原始的以太网帧加上8字节的vxlan头部,再封装在一个UDP报文里, 此报文目的端口为8472/udp,即对端的隧道终端服务监听8472/udp端口。 所以vxlan可以理解为 MAC帧over0 码力 | 126 页 | 4.33 MB | 1 年前3
腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明TKE使用eBPF优化 k8s service Jianmingfan 腾讯云 目录 01 Service的现状及问题 优化的方法 02 和业界方法的比较 性能测试 03 04 解决的BUG 未来的工作 05 06 01 Service的现状及问题 什么是k8s Service • 应用通过固定的VIP访问一组pod,应用对Pod ip变化 无感知 • 本质是一个负载均衡器 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug 02 优化的方法 指导思路 • 用尽量少的cpu指令处理每一个报文 • 不能独占cpu • 兼顾产品的稳定性,功能足够丰富 弯路 • 为什么DPDK不行? • 独占cpu,不适合分布式的lb • 为什么纯粹的eBPF方法不行 • 不够成熟 eBPF 简介 • 编写eBPF程序 • 编译成eBPF中间代码 map • 由于eBPF中没有timer机制 IPVS 如何做SNAT? 优化方法评价 • 优势 • 大大缩短了数据通路,完全绕过了conntrack/iptables • 不足 • 对内核模块做了一定的修改,部署更困难 03 和业界方法比较 V.S. 纯粹的eBPF service 和其他的优化方法对比 V.S. Taobao IPVS SNAT patch • 复用了IPVS0 码力 | 27 页 | 1.19 MB | 9 月前3
Kubernetes安全求生指南disabled: •talk server •telnet server •tftp-server •Avahi •print •DHCP •DNS •FTP •IMAP •POP •HTTP •SNMP ©2019 VMware, Inc. 16 PKS內的NSX-T提供了可外部設定的分散式防火牆與視覺化工具 Kubernetes的網路政策只能規範容器,無法規範虛擬機與實體機,也無法看見資料流 (程式碼提交前檢測 ©2019 VMware, Inc. 21 安全團隊的角色十分重要! 更應該從一開始設計時就加入 企業所有團隊的思維都需要從DevOps進化為DevSecOps 方法論: DevOps DevSecOps DevSecOps的指導原則: • 團隊/社群而非個人 (Team/Community, not a person) • (自動化與自主性安全0 码力 | 23 页 | 2.14 MB | 1 年前3
涂小刚-基于k8s的微服务实践容器监控 日志采集 应用监控 节点监控 动态存储 本地存储 网络存储 静态存储 代码检查 代码编译 镜像编译 服务发布 镜像同步 镜像上传 镜像下载 镜像安全 k8s tcp负载 https-http 虚拟主机 服务路由 traefik ingress-nginx nginx 流 量 入 口 k8s平台组件 k8s平台接入流程 k8s环境空间和应用名规范 k8s-namespace yaml创建ipvs-eth子网卡; 5.flanneld创建同步所有节点docker子网路由表; 你好我是分享标题 我是作者名称 flannel vs calico 采用万兆网卡的虚拟机,测试方法是不同node节点开启qperf测试 结论: tcp延迟:calico-bgp0 码力 | 19 页 | 1.34 MB | 1 年前3
第1930期:Kubernetes基础介绍令都是发给它,它负责执行具体的动作。它很重要,如果它不可用,那么我们所有的控制命令都会失效。 Master节点上运行一组关键进程: API Server API服务器(kube-apiserver):提供HTTP Rest接口的关键服务,是k8s集群里所有资源的增删查改等操 作的唯一入口,也是集群控制的入口进程。并提供认证、授权、访问控制、API注册和发现等机制 Controller Manager控制 如下: /opt/bin/kubectl --server=127.0.0.1:8888 get pod 这里能看到Pod的NAME、状态、重启的次数、启动时间等,查看node、service等方法类似,前面需要加上 /opt/bin/kubectl –server=127.0.0.1:8888 43 www.h3c.com Confidential 秘密 43 43 K8s技术在H3Cloud0 码力 | 49 页 | 4.11 MB | 1 年前3
Chaos Mesh让应用与混沌在 Kubernetes 上共舞-杨可奥四、Chaos Mesh 使用案例 混沌工程的动机 事故,任何时候都可能发生 AWS 事故,任何时候都可能发生 Github 关于混沌,我们能知道很多 我们的软件没有混沌现象! 科学的研究方法 ● 明确目标,问题 ● 作出假设 ● 进行尝试和实验 ● 观察现象 ● 分析和总结 Chaos Engineering 混沌工程正在受到重视 混沌工程正在受到重视 混沌实验?听上去很简单 loss/delay/dup/c orrupt netem ipset+iptables partition Request bandwidth tbf NetworkChaos 实现方法 如何进入目标 Pod 的 Network Namespace ● setns 系统调用 ● nsenter 命令 或在其他进程中 setns ○ 开发、测试更加方便 ○ 使用起来更加简单0 码力 | 30 页 | 1.49 MB | 9 月前3
共 34 条
- 1
- 2
- 3
- 4













