「K8S 生态周报」内容次要蕴含我所接触到的 K8S 生态相干的每周值得举荐的一些信息。欢送订阅知乎专栏「k8s 生态」。
KIND v0.10 正式公布
KIND(Kubernetes In Docker)是我很喜爱也始终在参加奉献的 Kubernetes SIG 子项目,本周 KIND 公布了 v0.10 版本,间隔上次 v0.9 版本已过来了 4 个多月,在此期间,咱们做了很多的优化和改良。上面我来具体介绍下:
破坏性变更
这个局部显然是大家最为关怀的,这里有三个须要留神的点:
- 默认的 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 页面下载预编译好的二进制文件进行体验,有任何问题欢送随时反馈。
Helm v3.5 正式公布
Helm v3.5 是 Helm 的一个个性版本,此版本的个性次要集中在 OCI 反对和模板函数,以下是我认为值得关注的一些变更:
- #9126 Helm 的 template 中新减少了超过 20 个的函数反对,具体函数列表可参考 sprig 的列表;
- #8843 容许在设置了
HELM_EXPERIMENTAL_OCI
环境变量的前提下,通过helm pull oci://
的形式来下载 OCI 仓库中下载 Chart 和更新依赖; - #8886 为
helm 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
事件
- Docker 把 Distribution 捐给了 CNCF,Docker Distribution 是 Docker Hub 及泛滥镜像仓库的底层实现,捐给 CNCF 无望为其带来更弱小的生命力;
- Docker Hub Tool 开源啦 能够在我之前的 Docker Hub Tool 文章中理解其具体个性;
上游停顿
- #96021 当往 CSI 卷上创立卷数据文件期间如果产生异样,不会再主动删除全副数据了,当初仅删除数据文件和卷门路;
- #98678 TTLAfterFinished 个性将默认启用,并且降级至 beta。此个性是用于管制 Job 和 Pod 实现后的清理工夫,通过
.spec.ttlSecondsAfterFinished
进行设置,在资源创立或实现后都能够批改这个值,然而一旦超过 TTL,并且 K8S 认为可删除资源的时候,再批改这个 TTL 也没有成果了;
欢送订阅我的文章公众号【MoeLove】