《K8S生态周刊》主要是一些我接触过的K8S生态相关的每周推荐资讯。欢迎订阅知乎专栏《k8s生态》。第一个Docker官方GitHubAction发布。自去年Docker将企业服务相关业务出售给Mirantis后,Docker便专注于帮助开发者体验,并为此做出了一系列努力。包括一月份发布的DockerDesktopv2.2,它提供了WSL2的新架构和新的交互式DesktopDashboard等特性。第一个DockerGitHubAction于本周发布,简化了CI/CD过程。这其实是从另一个角度(比预期的晚)推动了DockerHub的普及。DockerHub一直都有构建Docker镜像的功能,但个人感觉体验不够好。一般意义上,不够灵活;另外感觉它的调度有点慢(虽然现在正在优化)。但是这次发布的DockerGitHubAction可以让用户更灵活的通过GitHubAction定义自己的工作流,将镜像推送到镜像仓库。这里的镜像仓库并没有强制绑定DockerHub,用户可以自定义镜像仓库的地址。使用示例如下,完整工程可以参考docker-github-action。需要注意的是,如果您的仓库是公开的,请注意将您的用户名和密码设置为机密。您可以参考下面的示例以防止泄漏。-name:BuildandpushDockerimagesuses:docker/build-push-action@v1.0with:#用于登录Dockerregistry的用户名。如果未设置,则不会发生登录username:${{secrets.DOCKER_USERNAME}}#用于登录Docker注册表的密码或个人访问令牌。如果未设置,则不会发生登录password:${{secrets.DOCKER_TOKEN}}#Dockerrepositorytotagtheimagewithrepository:${{secrets.DOCKER_USERNAME}}/${{secrets.DOCKER_PROJECT}}#Automaticallytagsthebuiltimagewiththegitreferenceasperthereadmetag_with_ref:true#AutomaticallytagsthebuiltimagewiththegitshortSHAasperthereadmetag_with_sha:true#Pathtorundockerbuildfrompath:.#Dockerfile的名称(默认为'path/Dockerfile')uiltimageadd_git_labels:true#是否推送镜像push:true另外,本周发布了VisualStudioCodeDocker扩展1.0!据说它比以前的版本更容易使用。使用vsc的朋友可以试试etcdv3.4.5release本周发布的etcdv3.4.5包含一些:#11704/healthcheck结果记录在服务器日志中,主要是方便etcd挂掉时分析根因;#11694修复处理指标时可能导致的异常;其他改动请参考其ReleaseNoteTrivy许可协议改为Apache-2.0AquaSecurity开源的trivy是一个镜像漏洞安全扫描器,CI友好。可能有的朋友对AquaSecurity不是很了解,但是大部分都用过或者了解过它的一些开源项目:kubectl-who-cankube-benchkube-hunter最近trivy的许可协议从AGPLv3改成了更改为Apache-2.0。这件事的意义在于,更多的厂商或者公司可以在自己的产品或者环境中集成使用trivy,而不用担心trivy自己的授权协议!目前,包括Harbor、Docker和MirantisDockerEnterprise等都在或将使用trivy作为其默认的镜像安全扫描工具。但需要注意的是,trivy使用的部分数据源仍然是禁止商业使用的。推荐阅读:全面易用的镜像漏洞检测工具:Trivyupstreamprogress这是针对Kubernetesv1.16的修复,将主线中的一系列修复合并到v1.16中。这里特别提到是因为如果你的集群中有很多节点都变成了NotReady,可能会导致控制平面过载而变得不可用。主要修复在NodeLifecycleController上。建议想使用或者目前是v1.16的用户注意这个问题(如果集群规模较小,受此问题影响的可能性比较小),详情请参考#88959项目推荐Reloader是一个Kubernetes控制器,它监视ConfigMaps或Secrets,然后在使用这些资源的Pod上执行滚动升级。请注意,它仅与Kubernetesv1.9及更高版本兼容。如果你有相关需求,可以试试。欢迎订阅我的文章公众号【MoeLove】
