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

相关文章
相关标签/搜索