「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。
Kubernetes v1.16 发布周期开始
随着前段时间 Kubernetes v1.15 的发布,v1.16 的发布周期开始了。本次的发布周期一如往常,本月底增强功能冻结,下月底代码冻结,9 月初完善文档,计划在 9 月中发布 v1.16 版本。
其实按这个节奏看得话,大家如果需要维护生产中的 Kubernetes 集群的话,还是尽快测试验证并完成升级,以免所用版本 EOL,带来一些其他的问题。
Knative Serving v0.7.x 发布
本周 Knative Serving 发布了 v0.7.1 版本,Knative 近期的开发还是比较活跃的。
需要注意的是若使用 v0.7.x 版本中新增的 serving.knative.dev/v1beta1
API 的话,则需要 Kubernetes v1.14 版本以上。具体原因请参考 #4533
Non-root 容器:在这个版本中所有发布的容器均以非 root 用户运行,这使得我们可以使用更严格的 PSP。
当然此版本中也包含一些破坏性变更,比如 status 字段废弃。
关于此版本更多的细节请参考 ReleaseNote
Debian 10 buster 正式发布
Debian 10 正式发布了,其实按一般的角度来看,Linux 的一个发行版发布不会出现在 K8S 生态周报中的。
但这里有个需要注意的点,对于使用此版本部署 Kubernetes 时,需要注意一下。此版本中使用的 systemd
版本是 241.5 而这个版本中有个对于使用 Kubernetes 而言值得注意的点。
这个版本的 systemd 可能会破坏 LXD 容器的网络,表现在可能无法生成 MAC 地址上。(我猜测现在关注 LXD 的用户没有那么多了,这里我也就不过多解释了。)当然这个问题同样也可能会出现在使用 Docker/runc/cri-o 等容器运行时的场景中。
最后,还是庆祝一下 Debian 10 的正式发布,此版本内核也已经升级到了 4.19 。并且这个版本也有很多的改善和升级。具体内容可参考其 ReleaseNote
NGINX Ingress Controller 1.5.1 发布
NGINX Ingress Controller 是由 NGINX 社区开发的 Ingress Controller 相比于 Kubernetes 的 Nginx Ingress Controller 而言主要区别如下:
Aspect or Feature | kubernetes/ingress-nginx | nginxinc/kubernetes-ingress with NGINX | nginxinc/kubernetes-ingress with NGINX Plus |
---|---|---|---|
Fundamental | |||
Authors | Kubernetes community | NGINX Inc and community | NGINX Inc and community |
NGINX version | Custom NGINX build that includes several third-party modules | NGINX official mainline build | NGINX Plus |
Commercial support | N/A | N/A | Included |
Load balancing configuration via the Ingress resource | |||
Merging Ingress rules with the same host | Supported | Supported via Mergeable Ingresses | Supported via Mergeable Ingresses |
HTTP load balancing extensions - Annotations | See the supported annotations | See the supported annotations | See the supported annotations |
HTTP load balancing extensions -- ConfigMap | See the supported ConfigMap keys | See the supported ConfigMap keys | See the supported ConfigMap keys |
TCP/UDP | Supported via a ConfigMap | Supported via a ConfigMap with native NGINX configuration | Supported via a ConfigMap with native NGINX configuration |
Websocket | Supported | Supported via an annotation | Supported via an annotation |
TCP SSL Passthrough | Supported via a ConfigMap | Not supported | Not supported |
JWT validation | Not supported | Not supported | Supported |
Session persistence | Supported via a third-party module | Not supported | Supported |
Canary testing (by header, cookie, weight) | Supported via annotations | Supported via custom resources | Supported via custom resources |
Configuration templates *1 | See the template | See the templates | See the templates |
Load balancing configuration via Custom Resources | |||
HTTP load balancing | Not supported | See VirtualServer and VirtualServerRoute resources. | See VirtualServer and VirtualServerRoute resources. |
Deployment | |||
Command-line arguments *2 | See the arguments | See the arguments | See the arguments |
TLS certificate and key for the default server | Required as a command-line argument/ auto-generated | Required as a command-line argument | Required as a command-line argument |
Helm chart | Supported | Supported | Supported |
Operational | |||
Reporting the IP address(es) of the Ingress controller into Ingress resources | Supported | Supported | Supported |
Extended Status | Supported via a third-party module | Not supported | Supported |
Prometheus Integration | Supported | Supported | Supported |
Dynamic reconfiguration of endpoints (no configuration reloading) | Supported with a third-party Lua module | Not supported | Supported |
内容来源:NGINX Ingress Controller 文档
本次发布的 1.5.1 将 NGINX 版本更新到了 1.17.1 ,升级时可直接使用 nginx/nginx-ingress:1.5.1
或 nginx/nginx-ingress:1.5.1-alpine
也可直接使用 0.3.1 的 Helm Chart
更多信息请参考 ReleaseNote
Kubernetes 上游进展
来说一点上游开发的进展吧
新增了
Runtimeclass
的准入控制,通过这个新的特性,我们可以计算和 Pod 的 sanbox 绑定的资源了, 参见 78484新增了对在每个节点上可部署的每个卷类型的数量的限制, 参见 77595
kubeadm 修复了一个
reset
命令时候使用错误的函数, 参见 79326
可以通过下面二维码订阅我的文章公众号【MoeLove】