|
| 1 | +--- |
| 2 | +title: " 每周 Kubernetes 社区聚会笔记 - 2015年4月3日 " |
| 3 | +date: 2015-04-04 |
| 4 | +slug: weekly-kubernetes-community-hangout |
| 5 | +url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout |
| 6 | +--- |
| 7 | +<!-- |
| 8 | +--- |
| 9 | +title: " Weekly Kubernetes Community Hangout Notes - April 3 2015 " |
| 10 | +date: 2015-04-04 |
| 11 | +slug: weekly-kubernetes-community-hangout |
| 12 | +url: /blog/2015/04/Weekly-Kubernetes-Community-Hangout |
| 13 | +--- |
| 14 | +--> |
| 15 | +<!-- |
| 16 | +# Kubernetes: Weekly Kubernetes Community Hangout Notes |
| 17 | +--> |
| 18 | +# Kubernetes: 每周 Kubernetes 社区聚会笔记 |
| 19 | + |
| 20 | +<!-- |
| 21 | +Every week the Kubernetes contributing community meet virtually over Google Hangouts. We want anyone who's interested to know what's discussed in this forum. |
| 22 | +--> |
| 23 | +每周,Kubernetes 贡献社区几乎都会通过 Google Hangouts 开会。 |
| 24 | +我们希望任何有兴趣的人都知道本论坛讨论的内容。 |
| 25 | + |
| 26 | +<!-- |
| 27 | +Agenda: |
| 28 | +--> |
| 29 | +议程: |
| 30 | + |
| 31 | +<!-- |
| 32 | +* Quinton - Cluster federation |
| 33 | +* Satnam - Performance benchmarking update |
| 34 | +--> |
| 35 | +* Quinton - 集群联邦 |
| 36 | +* Satnam - 性能基准测试更新 |
| 37 | + |
| 38 | +<!-- |
| 39 | +*Notes from meeting:* |
| 40 | +--> |
| 41 | +*会议记录:* |
| 42 | + |
| 43 | +<!-- |
| 44 | +1. Quinton - Cluster federation |
| 45 | +* Ideas floating around after meetup in SF |
| 46 | +* * Please read and comment |
| 47 | +* Not 1.0, but put a doc together to show roadmap |
| 48 | +* Can be built outside of Kubernetes |
| 49 | +* API to control things across multiple clusters, include some logic |
| 50 | +--> |
| 51 | +1. Quinton - 集群联邦 |
| 52 | +* 在旧金山见面会后,想法浮出水面 |
| 53 | +* * 请阅读并评论 |
| 54 | +* 不是 1.0,而是将文档放在一起以显示路线图 |
| 55 | +* 可以在 Kubernetes 之外构建 |
| 56 | +* 用于控制多个集群中事物的 API ,包括一些逻辑 |
| 57 | + |
| 58 | +<!-- |
| 59 | +1. Auth(n)(z) |
| 60 | +
|
| 61 | +2. Scheduling Policies |
| 62 | +
|
| 63 | +3. … |
| 64 | +--> |
| 65 | +1. Auth(n)(z) |
| 66 | + |
| 67 | +2. 调度策略 |
| 68 | + |
| 69 | +3. …… |
| 70 | +<!-- |
| 71 | +* Different reasons for cluster federation |
| 72 | +
|
| 73 | +1. Zone (un) availability : Resilient to zone failures |
| 74 | +
|
| 75 | +2. Hybrid cloud: some in cloud, some on prem. for various reasons |
| 76 | +
|
| 77 | +3. Avoid cloud provider lock-in. For various reasons |
| 78 | +
|
| 79 | +4. "Cloudbursting" - automatic overflow into the cloud |
| 80 | +--> |
| 81 | +* 集群联邦的不同原因 |
| 82 | + |
| 83 | +1. 区域(非)可用性:对区域故障的弹性 |
| 84 | + |
| 85 | +2. 混合云:有些在云中,有些在本地。 由于各种原因 |
| 86 | + |
| 87 | +3. 避免锁定云提供商。 由于各种原因 |
| 88 | + |
| 89 | +4. "Cloudbursting" - 自动溢出到云中 |
| 90 | + |
| 91 | +<!-- |
| 92 | +* Hard problems |
| 93 | +
|
| 94 | +1. Location affinity. How close do pods need to be? |
| 95 | +
|
| 96 | + 1. Workload coupling |
| 97 | +
|
| 98 | + 2. Absolute location (e.g. eu data needs to be in eu) |
| 99 | +
|
| 100 | +2. Cross cluster service discovery |
| 101 | +
|
| 102 | + 1. How does service/DNS work across clusters |
| 103 | +
|
| 104 | +3. Cross cluster workload migration |
| 105 | +
|
| 106 | + 1. How do you move an application piece by piece across clusters? |
| 107 | +
|
| 108 | +4. Cross cluster scheduling |
| 109 | +
|
| 110 | + 1. How do know enough about clusters to know where to schedule |
| 111 | +
|
| 112 | + 2. Possibly use a cost function to achieve affinities with minimal complexity |
| 113 | +
|
| 114 | + 3. Can also use cost to determine where to schedule (under used clusters are cheaper than over-used clusters) |
| 115 | + --> |
| 116 | + * 困难的问题 |
| 117 | + |
| 118 | + 1. 位置的吸引力。Pod 需要多近? |
| 119 | + |
| 120 | + 1. 工作负载的耦合 |
| 121 | + |
| 122 | + 2. 绝对位置(例如欧盟数据需要在欧盟内) |
| 123 | + |
| 124 | +2. 跨集群服务发现 |
| 125 | + |
| 126 | + 1. 服务/DNS 如何跨集群工作 |
| 127 | + |
| 128 | +3. 跨集群工作负载迁移 |
| 129 | + |
| 130 | + 1. 如何在跨集群中逐块移动应用程序? |
| 131 | + |
| 132 | +4. 跨集群调度 |
| 133 | + |
| 134 | + 1. 如何充分了解集群以知道在哪里进行调度 |
| 135 | + |
| 136 | + 2. 可能使用成本函数以最小的复杂性获得关联 |
| 137 | + |
| 138 | + 3. 还可以使用成本来确定计划的时间(使用不足的集群比过度使用的集群便宜) |
| 139 | + |
| 140 | +<!-- |
| 141 | +* Implicit requirements |
| 142 | +
|
| 143 | +1. Cross cluster integration shouldn't create cross-cluster failure modes |
| 144 | +
|
| 145 | + 1. Independently usable in a disaster situation where Ubernetes dies. |
| 146 | +
|
| 147 | +2. Unified visibility |
| 148 | +
|
| 149 | + 1. Want to have unified monitoring, alerting, logging, introspection, ux, etc. |
| 150 | +
|
| 151 | +3. Unified quota and identity management |
| 152 | + --> |
| 153 | + * 隐含要求 |
| 154 | + |
| 155 | +1. 跨集群集成不应创建跨集群故障模式 |
| 156 | + |
| 157 | + 1. 在 Ubernetes 死亡的灾难情况下可以独立使用。 |
| 158 | + |
| 159 | +2. 统一可见性 |
| 160 | + |
| 161 | + 1. 希望有统一的监控,报警,日志,内省,用户体验等。 |
| 162 | + |
| 163 | +3. 统一的配额和身份管理 |
| 164 | + |
| 165 | + 1. 希望将用户数据库和 auth(n)/(z)放在一个位置 |
| 166 | + |
| 167 | + |
| 168 | +<!-- |
| 169 | +* Important to note, most causes of software failure are not the infrastructure |
| 170 | +
|
| 171 | +1. Botched software upgrades |
| 172 | +
|
| 173 | +2. Botched config upgrades |
| 174 | +
|
| 175 | +3. Botched key distribution |
| 176 | +
|
| 177 | +4. Overload |
| 178 | +
|
| 179 | +5. Failed external dependencies |
| 180 | + --> |
| 181 | + * 需要注意的是,导致软件故障的大多数原因不是基础架构 |
| 182 | + |
| 183 | +1. 拙劣的软件升级 |
| 184 | + |
| 185 | +2. 拙劣的配置升级 |
| 186 | + |
| 187 | +3. 拙劣的密钥分发 |
| 188 | + |
| 189 | +4. 过载 |
| 190 | + |
| 191 | +5. 失败的外部依赖项 |
| 192 | + |
| 193 | + <!-- |
| 194 | +* Discussion: |
| 195 | +
|
| 196 | +1. Where do you draw the "ubernetes" line |
| 197 | +
|
| 198 | + 1. Likely at the availability zone, but could be at the rack, or the region |
| 199 | +
|
| 200 | +2. Important to not pigeon hole and prevent other users |
| 201 | + --> |
| 202 | + * 讨论: |
| 203 | + |
| 204 | +1. 在哪里画 ”ubernetes“ 线 |
| 205 | + |
| 206 | + 1. 可能在可用区,但也可能在机架,或地区 |
| 207 | + |
| 208 | +2. 重要的是不要鸽子洞并防止其他用户 |
| 209 | + |
| 210 | + <!-- |
| 211 | + 2. Satnam - Soak Test |
| 212 | +* Want to measure things that run for a long time to make sure that the cluster is stable over time. Performance doesn't degrade, no memory leaks, etc. |
| 213 | +* github.com/GoogleCloudPlatform/kubernetes/test/soak/… |
| 214 | +* Single binary, puts lots of pods on each node, and queries each pod to make sure that it is running. |
| 215 | +* Pods are being created much, much more quickly (even in the past week) to make things go more quickly. |
| 216 | +* Once the pods are up running, we hit the pods via the proxy. Decision to hit the proxy was deliberate so that we test the kubernetes apiserver. |
| 217 | +* Code is already checked in. |
| 218 | +* Pin pods to each node, exercise every pod, make sure that you get a response for each node. |
| 219 | +* Single binary, run forever. |
| 220 | +* Brian - v1beta3 is enabled by default, v1beta1 and v1beta2 deprecated, turned off in June. Should still work with upgrading existing clusters, etc. |
| 221 | + --> |
| 222 | + 2. Satnam - 浸泡测试 |
| 223 | +* 想要测量长时间运行的事务,以确保集群在一段时间内是稳定的。性能不会降低,不会发生内存泄漏等。 |
| 224 | +* github.com/GoogleCloudPlatform/kubernetes/test/soak/… |
| 225 | +* 单个二进制文件,在每个节点上放置许多 Pod,并查询每个 Pod 以确保其正在运行。 |
| 226 | +* Pod 的创建速度越来越快(即使在过去一周内),也可以使事情进展得更快。 |
| 227 | +* Pod 运行起来后,我们通过代理点击 Pod。决定使用代理是有意的,因此我们测试了 kubernetes apiserver。 |
| 228 | +* 代码已经签入。 |
| 229 | +* 将 Pod 固定在每个节点上,练习每个 Pod,确保你得到每个节点的响应。 |
| 230 | +* 单个二进制文件,永远运行。 |
| 231 | +* Brian - v1beta3 默认启用, v1beta1 和 v1beta2 不支持,在6月关闭。仍应与升级现有集群等一起使用。 |
0 commit comments