首页 文章 精选 留言 我的

精选列表

搜索[生态共建],共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" }

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

Mirantis 收购 Docker | 云原生生态周报 Vol. 28

业界要闻 1.Docker 将 Docker Enterprise 卖给 Mirantis Mirantis 是一家扎根于 OpenStack 的云公司,最近专注于 Kubernetes。该公司刚刚收购了 Docker 的企业部门,该业务部门包括 Docker Enterprise 技术平台及所有相关的知识产权、约 400 名员工中的 300 人、750 家企业客户以及所有企业伙伴关系。 2.红帽发布企业容器仓库开源项目 项目官网 github 链接 Project Quay 包含一系列在 Apache 2.0 和其他开源许可证下许可的开源软件。它遵循一个带有维护者委员会的开源治理模型。 3.北美 KubeCon 正式开幕 KubeCon + CloudNativeCon North America 2019 于11 月 18 日 在 San

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

云原生生态:全球首个开放应用模型 OAM 开源

作者 | 临石、元毅、冬岛、衷源、天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM)开源项目。OAM 的愿景是以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用管理与交付变得更加简洁,高效,并且可控。 KubeVirt 进入 CNCF Sandbox KubeVirt尽管容器技术提供了各种便利,但是在特定情况下使用 VM 仍然是不可避免的(编者按:VM 只是选择之一,不同的安全容器解决方案都可以在不同方面代替单纯的 VM)。来自 Redhat 的 KubeVirt 项目可以提供在 K8s 集群内部准备、部署、运行和管理 VM 的能力,让用户可以使用 Pod 一样来使用一个 VM。现在,这个项目已经正式进入了 CNCF 的 Sandbox 了。 Megalix 发布 KubeAdvisor 1.0 版本 KubeAdvisor 日前发布了 1.0 版本。KubeAdvisor 一款辅助 K8s 运维的工具,能够扫描 K8s 集群的资源、状态、配置等,通过提供恰当的“可观测性”(编者按:眼花缭乱的监控数据和曲线图不等于可观测性),为集群使用者提供最有价值的信息,来辅助保障基础设施和上层应用的可靠性和稳定性。 上游重要进展 1.允许动态调整 kube-scheduler 的 log level。kube-scheduler 作为 K8s 重要的默认调度组件,在一些情况下它们的日志可以反映出不少信息,这个 PR 允许 kube-scheduler 的日志打印级别可以动态被调整。 2.调度器方面最近的一个举动是将一些 Prioritizing 的逻辑插件化(Score Plugin)。最近几个相关的PR如下,感兴趣的同学可以关注。 BalancedResourceAllocation MostRequestedPriority LeastResourcePriority 3.为 scheduler 添加一个跟踪 Binding 和 Prioritizing 的 goroutine 数目的 metric。 在大规模应用部署等一些特殊场景中,调度器可能成为整体性能的瓶颈。 4.这里有两个优化 kubeadm 使用体验的 PR: kubeadm 的 structured output:结构化输出 kubeadm 的一些输出信息(yaml、json 等),方便被继续处理; kubeadm 添加 --with-ca flag 来显示 ca 的过期信息:ca 过期是常见的造成组件不可用的愿意之一,有了这个 flag 可以更方便的指导 ca 的过期信息。 5.下面是几个比较重要 / 有意思的 KEP,感兴趣的朋友可以关注一下: 为 Kube API Server 的 network proxy 添加了 beta 版毕业条件。KAS 允许配置 Kube API Server 的网络流量到(或者不到)指定的 proxy; insecure kubelet log:通过一个开关,使得在 kubelet 的 serving cert 过期(kube apiserver 不认识 kubelet)但kube-apiserver 的 client cert 没有过期(kubelet 认识 kube apiserver)的条件下,允许 kubelet 通过跳过 tls 验证返回一些 log。这个功能在测试和debug的场景是有用的。 规范化 conformanece test 的内容的实施(文档、API schema、代码检验、专家知识等) 扩展 NodeRestriction Controller 来限制更多 Node 可以 Pod 进行的操作(主要是来自安全上的考虑); HPA 的状态达到 implementable 两个计划中的 GA,对于想要参与到 K8s 社区的新手贡献者来说,这两个 KEP 是不错的切入点(目标、方法很明确的需求) 根据 Node condition 给 Node 打上 taint 标记,自动化帮助调度器识别出不适合的调度节点; 之前 DaemonSet 的调度逻辑是在 DaemonSet controller 中的,这个 KEP 希望把调度逻辑移动到调度器中实现。 开源项目推荐 VMware-Tanzu VMware已经开始全面支持 K8s,最近该公司在开源方面的一个举措是将几个自己拥有的云原生开源项目迁移到了新的 Organization:VMware-Tanzu。这个项目中目前包括下面几个项目: velero:应用迁移工具 octant:一个集群状态展示的 dashboard sonobuoy:一个 K8s 分析工具 ······ k8s-transmogrifier K8s 1.16 中废弃了大量的 API,影响到很多的已经用于生产的集群配置和 Helm chart 等。这里有一个自动转换 K8s 1.16 中的 depreciated 的 API 的工具,有需要的人可以了解一下。 本周阅读推荐 1.《阿里巴巴的研发模式是如何演进的?》 随着云计算的不断发展,很多开发者都对这一技术将为开发方式带来的变化充满兴趣,云计算解决的是从 CAPEX 到 OPEX 的转变问题。云可以带来哪些切实的好处?在云环境下应该怎么做应用架构?基于从传统架构到云架构的亲身经历,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(小邪)阐述了企业由新架构和新研发模式带来的价值点。本文整理自正在召开的QCon 上海 2019蒋江伟(小邪)的演讲内容。 2.《How Zalando manages 140+ Kubernetes Cluster》 本文介绍了 Zalando 的团队在(公有云上)管理数量棒庞大的 K8s 集群中得到的一些实践经验,例如每个 domain 或者 production community 总是部署双集群(prod & non-prod)、使用 Github 托管配置文件、通过 CLM(Cluster Lifecycle Manager)管理升级等等。 3.《Liveness Probes are Dangerous》 Liveness Probe 和 Readiness Probe 是 K8s 中判断应用是否可用的重要工具,然而不正确的使用 Liveness Probe 或者 Readiness Probe 会带来的风险(例如不小心使用了外部依赖、Liveness Probe 有时候反而会阻止 Pod 正确的进入失败状态从而无法彻底恢复健康等),这篇文章总结了使用这两者的最佳实践。 4.《A Practical Guide to Setting Kubernetes Requests and Limits》 Kubernetes 资源定义中的 request 和 limit 是老生常谈的问题了,本文除了更好的解释这些概念意外,还从 SLA 的角度提供了如何配置它们的建议。 5.《Protecting Kubernetes API Against CVE-2019-11253 (Billion Laughs Attack) and Other Vulnerabilities》 本文通过介绍 K8s 中的一个可能导致 billions laughs attacks 漏洞的例子,讲解了在生产环境中使用 K8s 的常规安全操作,包括正确配置 RBAC、定期检查 Role 和 RoleBinding、永远不要暴露 Master host 的地址等等。 6.《基于 Knative Serverless 技术实现天气服务-下篇》 上一期我们介绍了如何基于 Knative Serverless 技术实现天气服务-上篇,本篇文章我们介绍如何通过表格存储提供的通道服务,实现 Knative 对接表格存储事件源,订阅并通过钉钉发送天气提醒通知。关于 Knative 更多精彩文章请看 《Knative 系列文章》。 “ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”

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

CLAA物联网生态圈和LoRa行业现状解析

物联网是高度碎片化的市场,需要各种高、中、低速的连接技术来满足不同应用场景的需求。 随着5G商用牌照的颁发,中国5G进程大大提速,解决了车联网等物联网应用中缺乏高速率、低时延连接技术这一难题。而作为低速率、广覆盖连接技术的代表,LoRa尽管前期在国内的发展一路磕磕绊绊,但到底也还是站稳了脚跟。 据了解,LoRa(Long Range),是由美国Semtech公司推出的一种基于扩频技术的低功耗窄带远距离通信技术。而LoRaWAN协议,是一种标准开放的低功耗广域网规范,其在数据链路层定义媒体访问控制(MAC),并且能满足物联网设备的多种需求,是由国际LoRa联盟(LoRa Alliance)进行维护的。 根据国际LoRa联盟(LoRa Alliance)官网的信息,目前,全球有100多家网络运营商在超过100个国家进行了LoRa网络的

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

云原生生态周报 Vol. 3 | Java 8 ❤️ Docker

业界要闻 Docker Hub遭入侵,19万账号被泄露: 4月25日Docker官方邮件曝露,因为Hub的一个数据库收到非授权访问,影响了约19万用户的用户名和哈希后的密码,以及用户自动构建的Github和Bitbucket Token。Docker公司建议用户修改其登录密码。如果您在公有云上的应用依赖于来自 Docker Hub的镜像,我们强烈建议您登录容器服务控制台更新相应的docker login信息或kubernetes secret。此外,阿里云容器镜像服务企业版提供网络访问控制、独享OSS Bucket加密存储等安全加固功能,最大程度保障您的镜像仓库的安全。 Java 8 终于开始提供良好的容器支持:长久以来,容器 和 Java 就像一对“欢喜冤家”。一方面,容器技术的“不可变基础设施”特性为开发者带来了无比宝贵的依赖与环

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

大数据(一) - hadoop生态系统及版本演化

大数据系列文章汇总链接 - 更新到15篇 HDFS:分布式存储系统(Hadoop Distributed File System):提供了高可靠性、高扩展性和高吞吐率的数据存储服务 HDFS源自于Google的GFS论文 (发表于2003年10月),是GFS克隆版YARN:资源管理系统(Yet Another Resource Negotiator):负责集群资源的统一管理和调度,Hadoop 2.0新增系统,使得多种计算框架可以运行在一个集群中MapReduce:分布式计算框架:具有易于编程、高容错性和高扩展性等优点 MapReduce源自于Google的MapReduce论文 (发表于2004年12月),是Google MapReduce克隆版 Hive:由facebook开源,基于MR的数据仓库,数据计算使用MR,数据存储使用HDFS,Hive 定义了一种类 SQL 查询语言——HQL:类似SQL,但不完全相同 日志分析:统计网站一个时间段内的pv、uvPig:由yahoo!开源,构建在Hadoop之上的数据仓库 Mahout:数据挖掘库,基于Hadoop的机器学习和数据挖掘的分布式计算框架,实现了三大类算法 :推荐(Recommendation) 、聚类(Clustering) 、分类(Classification)HBase:分布式数据库,源自Google的Bigtable论文 ,发表于2006年11月 ,是Google Bigtable克隆版Zookeeper:分布式协作服务,源自Google的Chubby论文 ,发表于2006年11月 ,是Chubby克隆版 解决分布式环境下数据管理问题 :统一命名 、状态同步 、集群管理 、配置同步Sqoop:数据同步工具,大数据学习交流扣 qun 74零零加4yi3八1连接Hadoop与传统数据库之间的桥梁 ,支持多种数据库,包括MySQL、DB2等 ,插拔式,用户可根据需要支持新的数据库 ;本质上是一个MapReduce程序Flume:日志收集工具,Cloudera开源的日志收集系统Oozie:作业流调度系统 目前计算框架和作业类型繁多:MapReduce Java、Streaming、HQL、Pig等 如何对这些框架和作业进行统一管理和调度: 不同作业之间存在依赖关系(DAG); 周期性作业 定时执行的作业 作业执行状态监控与报警(发邮件、短信等) Hadoop发行版本 apache hadoop版本 CDH:Cloudera DistributedHadoop http://archive.cloudera.com/cdh5/cdh/ HDP:Hortonworks Data Platform http://zh.hortonworks.com/hdp/downloads/建议选择公司发行版(不必面临版本某一个框架的选择问题),比如CDH或HDP ,推荐使用CDH(国内主流版本) 更易维护和升级 经过集成测试,不会面临版本兼容问题

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

2018年HBase生态社群画像 +最全资料汇总下载

HBaseCon 亚洲大会全部PPT:下载 钉群直播全部资料下载:下载 9届Meetup视频和PPT下载:下载 《58HBase平台实践和应用 -平台建设篇》何良均/张祥 58同城查看 《HBase Rowkey 设计指南》吴阳平 阿里巴巴HBase业务架 构师查看 《HBase 2.0之修复工具HBCK2 运维指南》田竞云 小米HBase Committer查看 《从NoSQL到NewSQL,凤 凰涅槃成就Phoenix》张赟 阿里巴巴 Phoenix Committer查看 《消灭毛刺!HBase2.0全链路offheap效果拔群》杨文龙 阿里巴巴技术专家 HBase Committer&HBase PMC查看 《解读HBase2.0新功能 AssignmentManagerV2》杨文龙 阿里巴巴技术专家 HBase Committe

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册