首页 文章 精选 留言 我的

精选列表

搜索[算力生态],共10000篇文章
优秀的个人博客,低调大师

K8S 生态周报 | 首个 Docker 官方 Action 发布

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 首个 Docker 官方 GitHub Action 发布了 从去年 Docker 将企业服务相关的业务出售给 Mirantis 之后,Docker 将重心放在助力开发者体验上,并为此做了一系列的努力。包括 1 月份发布了 Docker Desktop v2.2 ,提供了 WSL2 的新架构,以及新的交互式 Desktop Dashboard 等特性。 本周又发布了首个 Docker GitHub Action,简化了 CI/CD 的流程。 这其实也是从另一个角度来推进 DockerHub 的普及(比预期的晚了一些)。DockerHub 上一直都有构建 Docker 镜像的功能,但我个人感觉体验并不够好,从一般意义上来说,它不够灵活;另外我感觉它的调度略慢了一点(虽然现在在优化中了)。 但本次发布的 Docker GitHub Action 可以让用户可以更灵活的通过 GitHub Action 来定义自己的 workflow,并将镜像推送至镜像仓库。这里的镜像仓库并没有和 DockerHub 强制绑定,用户可以自定义镜像仓库的地址。 使用示例如下,完整的项目可参考 docker-github-action 。需要额外注意的是, 如果你的仓库是公开的,请注意将自己的用户名密码等设置为 secrets ,可参考下方示例,以防泄漏。 name: Build and push Docker images uses: docker/build-push-action@v1.0 with: # Username used to log in to a Docker registry. If not set then no login will occur username: ${{ secrets.DOCKER_USERNAME }} # Password or personal access token used to log in to a Docker registry. If not set then no login will occur password: ${{ secrets.DOCKER_TOKEN }} # Docker repository to tag the image with repository: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROJECT }} # Automatically tags the built image with the git reference as per the readme tag_with_ref: true # Automatically tags the built image with the git short SHA as per the readme tag_with_sha: true # Path to run docker build from path: . # Name of the Dockerfile (Default is 'path/Dockerfile') dockerfile: Dockerfile # Always attempt to pull a newer version of the image always_pull: true # Adds labels with git repository information to the built image add_git_labels: true # Whether to push the image push: true 此外 Visual Studio Code Docker extension 1.0 也在本周发布了!据说比之前版本的都好用,使用 vsc 的小伙伴可以尝试下。 etcd v3.4.5 发布 etcd 本周发布的 v3.4.5 包含了一些: 11704 在 server 端的日志中记录了 /health 的检查结果,主要是为了便于在 etcd 挂掉时分析根因; 11694 修复了一个在处理 metrics 可能引起的异常; 其他变更,请参考其 ReleaseNote Trivy 授权协议变更为 Apache-2.0 Aqua Security 开源的 trivy 是一款镜像漏洞安全扫描程序,对 CI 友好。 可能有些小伙伴不太了解 Aqua Security 这家公司,但大多数人都或多或少用过或者了解过它的一些开源项目: kubectl-who-can kube-bench kube-hunter 近期,trivy 的授权协议从 AGPL v3 修改成了 Apache-2.0,这个事情的意义在于,更多的厂商或者公司可以不用担心 trivy 自身的授权协议,可以在自己的产品或者环境中集成使用 trivy 了! 目前包括 Harbor,Docker 及 Mirantis Docker Enterprise 等正在或者将使用 trivy 作为其默认镜像安全扫描工具。 但需要注意的是,trivy 使用的数据源有些是还是禁止商用来着。 上游进展 这是一个对 Kubernetes v1.16 的修复,将一系列主线中的修复都合并到了 v1.16 。这里专门提到它,是因为如果你集群中有很多节点变 NotReady 时,可能会导致 control plane 超载,出现不可用的情况。主要的修正都在 NodeLifecycleController 上,建议想要使用或者正在 v1.16 版本的用户关注下此问题(如果集群规模不大,那受此问题影响的可能性比较小),详情请查看 #88959。 项目推荐 Reloader 是一个 Kubernetes controller ,它会 watch ConfigMap 或 Secrets,然后对使用这些资源的 Pod 执行滚动升级。 注意它只兼容 Kubernetes v1.9 及以上。如果有相关需求的小伙伴可以进行尝试。 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/zhibo 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-03-24本文作者:张晋涛本文来自:“掘金”,了解相关信息可以关注“掘金”

优秀的个人博客,低调大师

Golang 1.14 发布 | 云原生生态周报 Vol. 39

作者 | 陈俊、何淋波、李鹏、宋净超 业界要闻 Golang 1.14 发布 Golang Release 了 1.14 版本。该版本包含生产级别 go module,改进 defer 性能,以及 Goroutine 抢占等功能。 Cilium 1.7 版本发布 Cilium 是一款开源软件,负责以透明方式提供并保护由 Linux 容器管理平台(例如 Kubernetes)部署完成的各应用程序服务间的网络与 API 连接。 Contributor Summit Amsterdam Schedule Announced 去阿姆斯特丹 KubeCon 的同学,不要忘记注册这个难得的开发者聚会。 KubeCon + CloudNativeCon China 2020 议题提交即将结束 将于中国时间 2 月 28 日结束,请大家不要忘记时间点。 上游重要进展

优秀的个人博客,低调大师

MixPHP V2.1 生态: Swoole 协程 Redis 订阅器

在 OpenMix 全家桶 中有一个 Mix Redis Subscribe 的项目,这是一个不依赖 phpredis 扩展,直接解析 Redis 协议专用于订阅处理的一个库,任何 Swoole 框架都可使用,可广泛使用于 WebSocket 开发中,在 MixPHP 骨架中也默认包含了这个库。 为何开发 MixPHP V2.1 完成开发后,我试图开发一个基于订阅机制的 WebScoket 服务,该服务需要可动态切换订阅频道,但 phpredis 的订阅方法无法实现以下功能: $redis = new \Redis(); $res = $redis->pconnect('127.0.0.1', 6379, 0); $redis->subscribe(['test'], function ($instance, $channelName, $message) { echo $channelName, "==>", $message, PHP_EOL; }); 无法得知订阅成功 以上代码中,当执行到 subscribe 会阻塞执行,只有在有消息过来时才会执行到匿名函数中,并不会在订阅成功的当时执行该闭包,但是 redis-cli 执行订阅时,redis-server 是有回复订阅成功消息的,因此是 phpredis 的设计问题。 无法动态 subscribe 增加频道 由于 subscribe 阻塞了执行,代码只能在有消息触发回调时才能在回调中执行,因此动态增加频道也是无法操作的。 unsubscribe 只可在回调中执行 因为上面那种阻塞回调的设计,如果需要取消一个频道,只能在有消息过来时方可操作,但是实际需求通常是需要在任意时刻都可取消频道。 无法在其他协程中 close 连接 phpredis 当试图在匿名函数以外的其他协程中 close 连接会抛出异常 PHP Fatal error: Uncaught RedisException: read error on connection,这让关闭一个订阅中的 redis 连接都无法优雅的实现。 造轮子 当我得知 redis 协议是简单的文本协议时,我决定抛弃 phpredis 自己造一个好用的订阅库,新轮子具有以下优点: 不依赖 phpredis 扩展 平滑修改:可随时增加、取消订阅通道,实现无缝切换通道的需求。 跨协程安全关闭:可在任意时刻关闭订阅。 通道获取消息:该库封装风格参考 golang 语言 go-redis 库封装,通过 channel 获取订阅的消息。 $sub = new \Mix\Redis\Subscribe\Subscriber([ // 连接失败将抛出异常 'host' => '192.168.198.1', 'port' => 6379, 'timeout' => 5, 'password' => '', ]); $sub->subscribe('foo', 'bar'); // 订阅失败将抛出异常 $chan = $sub->channel(); while (true) { $data = $chan->pop(); if (empty($data)) { // 手动close与redis异常断开都会导致返回false if (!$sub->closed) { // redis异常断开处理 var_dump('Redis connection is disconnected abnormally'); } break; } var_dump($data); } 接收到订阅消息: object(Mix\Redis\Subscribe\Message)#8 (2) { ["channel"]=> string(2) "foo" ["payload"]=> string(4) "test" }

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册