「K8S 生態週報」內容主要包含我所接觸到的 K8S 生態相關的每週值得推薦的一些信息。歡迎訂閱知乎專欄 「k8s生態」。
隨着前段時間 Kubernetes v1.15 的發佈,v1.16 的發佈週期開始了。本次的發佈週期一如往常,本月底加強功能凍結,下月底代碼凍結,9 月初完善文檔,計劃在 9 月中發佈 v1.16 版本。nginx
其實按這個節奏看得話,你們若是須要維護生產中的 Kubernetes 集羣的話,仍是儘快測試驗證並完成升級,以避免所用版本 EOL,帶來一些其餘的問題。git
本週 Knative Serving 發佈了 v0.7.1 版本,Knative 近期的開發仍是比較活躍的。github
須要注意的是若使用 v0.7.x 版本中新增的 serving.knative.dev/v1beta1
API 的話,則須要 Kubernetes v1.14 版本以上。具體緣由請參考 #4533docker
Non-root 容器:在這個版本中全部發布的容器均以非 root 用戶運行,這使得咱們可使用更嚴格的 PSP。cookie
固然此版本中也包含一些破壞性變動,好比 status 字段廢棄。網絡
關於此版本更多的細節請參考 ReleaseNotesocket
Debian 10 正式發佈了,其實按通常的角度來看,Linux 的一個發行版發佈不會出如今 K8S 生態週報中的。 ide
但這裏有個須要注意的點,對於使用此版本部署 Kubernetes 時,須要注意一下。此版本中使用的 systemd
版本是 241.5 而這個版本中有個對於使用 Kubernetes 而言值得注意的點。函數
這個版本的 systemd 可能會破壞 LXD 容器的網絡,表如今可能沒法生成 MAC 地址上。(我猜想如今關注 LXD 的用戶沒有那麼多了,這裏我也就不過多解釋了。)固然這個問題一樣也可能會出如今使用 Docker/runc/cri-o 等容器運行時的場景中。測試
最後,仍是慶祝一下 Debian 10 的正式發佈,此版本內核也已經升級到了 4.19 。而且這個版本也有不少的改善和升級。具體內容可參考其 ReleaseNote
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
來講一點上游開發的進展吧
Runtimeclass
的准入控制,經過這個新的特性,咱們能夠計算和 Pod 的 sanbox 綁定的資源了, 參見 78484 reset
命令時候使用錯誤的函數, 參見 79326 能夠經過下面二維碼訂閱個人文章公衆號【MoeLove】