K8S 生態週報| Helm v3.5 正式發佈,帶來完備的 OCI 支持

「K8S 生態週報」內容主要包含我所接觸到的 K8S 生態相關的每週值得推薦的一些信息。歡迎訂閱知乎專欄 「k8s生態」

KIND v0.10 正式發佈

KIND (Kubernetes In Docker )是我很喜歡也一直在參與貢獻的 Kubernetes SIG 子項目,本週 KIND 發佈了 v0.10 版本,距離上次 v0.9 版本已過去了 4 個多月,在此期間,咱們作了不少的優化和改進。下面我來具體介紹下:git

破壞性變動

這個部分顯然是你們最爲關心的,這裏有三個須要注意的點:github

  • 默認的 Node 鏡像版本已經更新爲了 Kubernetes v1.20.2 版本,因此個別有關 Kubernetes 自身特性變動的方面須要注意下;
  • IPv6 Pod 子網默認從 /64 修改爲了 /56 ,這裏的修改參考了 RIPE 的一篇關於 IPv6 子網規劃的最佳實踐,有興趣的朋友能夠了解下;
  • 咱們目前能保障 KIND 與 v1.14.0+ 的 Kubernetes 完備的兼容,但對於 v1.13.x 版本咱們只能儘可能作到最好;

新特性

  • 當構建 v1.19+ 版本的 Kubernetes 鏡像時,能夠不構建 dockershim 組件,以便減少鏡像的體積;
  • 經過優化編譯參數,顯著的減小了 KIND 二進制文件的體積(~7MB);
  • kind export logs 導出的 log 中將包含 KIND 的版本信息,以便於更好的定位問題;
  • 實驗性使用 GitHub Action CI 提供 docker/podman/cgroup v2 等環境的支持;
  • 文檔內容的優化和完善,包括 WSL2,負載均衡等方面;

修正

  • 優化了 cgroups 相關的處理邏輯;
  • 優化了一些錯誤信息的內容;

你們能夠直接在 KIND v0.10.0 版本的 Release 頁面下載預編譯好的二進制文件進行體驗,有任何問題歡迎隨時反饋。docker

Helm v3.5 正式發佈

Helm v3.5 是 Helm 的一個特性版本,此版本的特性主要集中在 OCI 支持和模板函數,如下是我認爲值得關注的一些變動:app

  • #9126 Helm 的 template 中新增長了超過 20 個的函數支持,具體函數列表可參考 sprig 的列表
  • #8843 容許在設置了 HELM_EXPERIMENTAL_OCI 環境變量的前提下,經過 helm pull oci:// 的方式來下載 OCI 倉庫中下載 Chart 和更新依賴;
  • #8886helm dep build 增長了一個 --skip-refresh 的參數,這樣就不會刷新本地倉庫中的 cache 了;
  • #8363 添加了一個 wait-for-jobs 的參數,當同時設置了 --wait 時候,helm install 等命令將會等待全部的 Job 都執行完成後,纔會認爲本次操做完成。固然,它也會受到 --timeout 參數的影響,最多等待時間不會超過 timeout 設置的時間;
  • #8958 添加了 --kube-cafile 的參數和等價的 HELM_KUBECAFILE 環境變量,用來指定鏈接 Kubernetes 時的 CA 。在此變動以前,若是 Kubernetes 集羣的證書未在系統層信任的話,就會出現失敗的狀況,提示 x509: certificate signed by unknown authority 之類的。如下是三種可用的解決方案:負載均衡

    • 在系統層信任證書,這個就很少說了;
    • Kubeconfig 增長 certificate-authority:
    KUBECONFIG=~/.mycustomkubeconfig
    kubectl config set-cluster internal.company --server=https://internal.company:443 --certificate-authority=/tmp/ca.crt
    kubectl config set-context some-context --cluster=internal.company --namespace=myns
    kubectl config use-context some-context
    HELM_NAMESPACE=myns HELM_KUBEAPISERVER=https://internal.company:443 helm install --kubeconfig="${KUBECONFIG}" some-app company/some-app
    • 經過此處提供的 HELM_KUBECAFILE 的環境變量:
    HELM_NAMESPACE=myns HELM_KUBEAPISERVER=https://internal.company:443 HELM_KUBECAFILE=/tmp/ca.crt helm install some-app company/some-app

    能夠看到,方便了不少。函數

  • #8626 用 Artifact Hub 替代了 Helm Hub 。我在去年的 K8S 生態週報| Helm 五週歲啦! 中曾具體介紹過此事,感興趣的小夥伴能夠看看具體內容;

更多關於此版本的變動,請參考其 ReleaseNote優化

事件

上游進展

  • #96021 當往 CSI 捲上建立卷數據文件期間若是發生異常,不會再自動刪除所有數據了,如今僅刪除數據文件和卷路徑;
  • #98678 TTLAfterFinished 特性將默認啓用,而且升級至 beta 。此特性是用於控制 Job 和 Pod 完成後的清理時間,經過 .spec.ttlSecondsAfterFinished 進行設置,在資源建立或完成後均可以修改這個值,可是一旦超過 TTL,而且 K8S 認爲可刪除資源的時候,再修改這個 TTL 也沒有效果了;

歡迎訂閱個人文章公衆號【MoeLove】ui

TheMoeLove

相關文章
相關標籤/搜索