• 为什么 K8s 集群达万级规模,阿里购物体验还能如丝顺滑?
    在落地 Kubernetes 的过程中,在规模上面临了很大的挑战,比如如何将 Kubernetes 应用到超大规模的生产级别。etcdimprovements为了解决这些问题,阿里云容器平台在各方面都做了很大的努力,改进 Kubernetes 在大规模场景下的性能。首先是 etcd 层面,作为 Kubernetes 存储对象的数据库,其对 Kubernetes 集群的性能影响至关重要。API Server improvementsEfficient node heartbeats在 Kubernetes 集群中,影响其扩展到更大规模的一个核心问题是如何有效的处理节点的心跳。因为 Lease 对象非常小,因此其更新的代价远小于更新 node 对象。API Server load balancing在生产集群中,出于性能和可用性的考虑,通常会部署多个节点组成高可用 Kubernetes 集群。
  • 塑造容器安全未来的五个趋势
    同时,Kubernetes 作为事实上的容器编排之选,其统治地位驱动了更好的标准化,简化了存储和安全等上层解决方案,减少了阻碍实现的供应商依赖顾虑。作为最早的容器安全提供商之一,NeuVector 最先看出跨整个应用生命周期保护容器的需求会不断增长。其首席执行官 Fei Huang 运用自身行业信息,点出影响当前及未来容器安全的五个关键趋势。这是可预见的伴随着成功的副作用,攻击只会越来越普遍和复杂,容器安全需成为企业和 DevOps 团队更大的关注重点。相关阅读如何做好容器安全10家专注容器安全的厂商调查:60% 的组织机构在2018年都经历过容器安全事故
  • 基于自定义Istio指标的Pod水平自动缩放
    基于自定义Istio指标的Pod水平自动缩放Pipeline的核心功能之一,Banzai Cloud的应用程序和devops容器管理平台,是多维的并可以基于默认和自定义指标进行自动调节。我们一直都知道这不是一个理想的解决方案,我们一直在努力寻求更灵活的解决方案,以便:基于自定义Prometheus指标的扩展为更复杂的Prometheus查询提供扩展支持随着我们的开源Istio operator的发布以及在Pipeline平台上广泛引入基于Istio的服务网格,我们也提供了根据自定义的Istio指标的自动缩放功能。相比之下,“Prometheus collector”仅收集自定义查询返回的指标结果,其定义因部署而异,并且仅针对单个部署/ pod或服务,从而减少了存储的指标总数。
  • GitHub 标星 6.2k+!最佳开发工具大全!
    但实际上,这个大全实打实地也成为了一份最佳开发工具大全。https://github.com/jhuangtw-dev/xg2xg美国网友对这个大全给予了很高的评价:这份清单中列出的开源软件,不仅解决了硅谷大厂前员工的难处,也能为其他所有码农解除困惑。xg2xg 上线仅仅一天就登上趋势榜,截至今天,已在 GitHub 收获 6200+ Star!由于数据不需要额外的标注,Avro 在序列化大量相同的数据时会比 Protobuf 和 Thrift 更有效率。但显然 Kubernetes 的功能会更丰富。他认为这份清单在一定程度上具有误导性,某些替代品根本达不到 Google 内部工具的水平。比如将 Colossus 和 HDFS 对比是在开玩笑,相比之下,HDFS 就像是一个玩具。全部工具的下载链接请参阅文末的 GitHub 地址。
  • 入门了解Service Mesh + Istio?从本文开始
    当泛指“Istio服务网格”时,通常是指Istio中的一系列工具,而特指“某个Istio 服务网格”时则表明由Istio安装管理的指定应用程序集群。这些Istio proxy有助于控制和监控微服务间的网络连接。通过创建Kubernetes资源来配置Istio服务网格。此外,有许多Kubernetes CRD可以映射到Istio各种功能上。Mixer,用于处理由proxy sidecar生成的请求指标的遥测,并将其发送到已配置完成的后端,并执行授权策略。Galley,它是大多数Istio CRD的Kubernetes controller,使用户可以更改自定义资源并将内容分配到其他Istio服务中。数据平面数据平面由Envoy服务代理提供支持,该代理使用Istio扩展构建。
  • Django实现WebSSH操作Kubernetes Pod
    优秀的系统都是根据反馈逐渐完善出来的上篇文章介绍了我们为了应对安全和多分支频繁测试的问题而开发了一套Alodi系统,Alodi可以通过一个按钮快速构建一套测试环境,生成一个临时访问地址,详细信息可以看这一篇文章:Alodi:为了保密我开发了一个系统系统上线后,SSH登陆控制台成了一个迫切的需求,Kubernetes的Dashboard控制台虽然有WebSSH的功能,但却没办法跟Alodi系统相结合,决定在Alodi中集成WebSSH的功能,先来看看最后实现的效果吧涉及技术Kubernetes Stream:
  • Kubernetes入门与进阶实战培训 | 北京站
    Kubernetes 很好的结合了来自社区的创意和最佳实践。Kubernetes 是目前唯一被业界广泛认可的 Docker 分布式解决方案。通过Kubernetes,我们可以轻装上阵的开发与管理复杂的业务系统。Kubernetes 已经毫无疑问地成为容器领域当之无愧的事实标准。2019年,Kubernetes 在容器编排领域更是一骑绝尘,围绕 Kubernetes 的生态正在不断的涌入与完善,已经成为大量系统的基石。可预见的未来几年,Kubernetes 更会大显身手,在容器编排领域的江湖一哥地位更是无人撼动。为此我们特别推出了Kubernetes实战培训,带您深入浅出的学习Kubernetes。
  • 重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源
    导读:2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model 开源项目。这些问题都反映出,Kubernetes 以及云原生技术栈需要一种以应用为中心的 API 资源来提供一个专注于应用管理的、标准的、高度一致的模型,这个 API 资源可以代表完整运行的应用本身,而不仅仅是应用模板或者一个应用的几个组成部分,这就是今天阿里云与微软联合宣布推出开放应用模型 Open Application Model 的原因。OAM 是一个专注于描述应用的标准规范。
  • 【深度解读】大数据3.0—— 后Hadoop时代大数据的核心技术
    1大数据技术发展回顾与技术挑战1.1 历史回顾Doug Cutting参考谷歌在2003年发表的Google File System论文建立了Hadoop开源项目,并于2006年贡献给Apache基金会,用来构建大规模搜索引擎和解决大规模的数据存储和离线计算的难题。这个阶段我们称之为大数据的1.0时代。大数据进入2.0时代的标志,是Spark核心计算引擎的出现。这个阶段有三个重要变化:一是大数据业务更多转为结构化数据处理等价值密度更高的计算,所有的大数据公司开始在Hadoop之上打造SQL引擎或分布数据库。
  • Docker 大势已去,Podman 万岁
    Podman 的使用体验和 Docker 类似,不同的是 Podman 没有 daemon。这就意味着容器的进程不可能是 Docker CLI 的子进程,而是 Docker Engine 的子进程。如果利用 cgroup 对 podman 做一些限制,那么所有创建的容器都会被限制。SD_NOTIFY : 如果将 podman 命令放入 systemd 单元文件中,容器进程可以通过 podman 返回通知,表明服务已准备好接收任务。我之前写过一篇用 Docker 部署 hugo 静态博客并配置 HTTPS 证书的文章,本文采用的是相同的方案,只是将 docker 换成了 podman,具体参考为 Envoy 开启 TLS 验证实战。以前用 docker 很简单,直接用 docker-compose 就搞定了,podman 就比较麻烦了,它又不能用 docker-compose,服务发现看来是搞不定了。
  • 全球第一时间响应:Rancher发布2.3.1,支持K8S CVE修复版本
    Rancher第一时间有效应对Rancher第一时间对漏洞做出响应,发布了新的版本Rancher 2.3.1和Rancher 2.2.9以支持上述Kubernetes补丁版本。请注意:Rancher 1.6.x用户不受Kubernetes的这两个安全漏洞影响,因为Rancher 1.6.x自身不支持这两个漏洞所影响的Kubernetes版本。因此,Rancher官方没有计划发布v2.1.x补丁版本来修复这两个漏洞。Rancher 2.3.1修复的bug修复了由于引用v1 API [#23365] 而无法使用LetsEncrypt证书安装单节点的问题;修复了守护脚本无法完成超时原因并允许超时可配置的问题[ #22379,#23160 ];修复了在模板创建和模板显示期间未正确处理Kubernetes版本的RKE模板的问题。
  • Kubernetes master 无法加入 etcd 集群解决方法
    注意这里首先要进入 etcd 的 pod。kubectl exec -it etcd-cn-hongkong.i-j6caps6av1mtyxyofmrx sh -n kube-systemexport ETCDCTL_API=3alias etcdctl='etcdctl --endpoints=https://172.31.182.153:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key'/ # etcdctl member listceb6b1f4369e9ecc, started, cn-hongkong.i-j6caps6av1mtyxyofmrx, https://172.31.182.154:2380, https://172.31.182.154:2379d4322ce19cc3f8da, started, cn-hongkong.i-j6caps6av1mtyxyofmrw, https://172.31.182.152:2380, https://172.31.182.152:2379d598f7eabefcc101, started, cn-hongkong.i-j6caps6av1mtyxyofmry, https://172.31.182.153:2380, https://172.31.182.153:2379 #删除不存在的节点/ # etcdctl member remove d4322ce19cc3f8daMember d4322ce19cc3f8da removed from cluster ed812b9f85d5bcd7/ # etcdctl member listceb6b1f4369e9ecc, started, cn-hongkong.i-j6caps6av1mtyxyofmrx, https://172.31.182.154:2380, https://172.31.182.154:2379d598f7eabefcc101, started, cn-hongkong.i-j6caps6av1mtyxyofmry, https://172.31.182.153:2380, https://172.31.182.153:2379/ # etcdctl member listcd4e1e075b1904b2, started, cn-hongkong.i-j6caps6av1mtyxyofmrw, https://172.31.182.152:2380, https://172.31.182.152:2379ceb6b1f4369e9ecc, started, cn-hongkong.i-j6caps6av1mtyxyofmrx, https://172.31.182.154:2380, https://172.31.182.154:2379d598f7eabefcc101, started, cn-hongkong.i-j6caps6av1mtyxyofmry, https://172.31.182.153:2380, https://172.31.182.153:2379/ # exit最后每次 kubeadm join 失败后要 kubeadm reset 重置节点,在kubeadm join 才会成功。
  • 强化学习框架 Ray 在 K8s 上的自动伸缩设计与实现
    日前,Ray 合并了在 Kubernetes 上实现 Ray 集群自动伸缩的代码请求,因此我希望在本文中介绍这一新特性,以及上游社区采取的设计方案和其中的考量。02Ray 架构在介绍 Ray 如何在 Kubernetes 上实现自动伸缩之前,这里我先大致介绍一下如何使用 Ray:Ray 本身其实并没有实现强化学习的算法,它是一个基于 Actor 模型实现的并行计算库。原本 Plasma 是 Ray 下的,目前已经是 Apache Arrow 的一部分。这也是 Ray 跟 Spark 最大的不同。Spark 提交的是静态的 DAG,而 Ray 提交的是函数。Autoscaler 是 Ray 实现的一个与 Kubernetes HPA 类似的特性,它可以根据集群的负载情况,自动调整集群的规模。Ray 之前只支持在 Kubernetes 上运行集群,而不支持自动扩缩容。
  • 没时间学习,又害怕被淘汰,聊聊自己的高效学习法
    长期坚持,也能构建自己的知识宝库。从我学习的渠道来看,极客时间所呈现的优质知识是最好的,没有之一。目前已经有超过37000人加入学习了,是极客时间口碑非常好的专栏。《Linux性能优化实战》极客时间口碑之王,自己看了几遍,还推荐给朋友了,实实在在地帮我解决了很多问题。我算了算,光充值卡就200,兑换后永久有效,可与一切优惠同享。再多说一句,礼盒是限量发售的,售完即止,我已经下单了,扫下图二维码抢最后,希望大家买了之后尽量每天抽15-30分钟学习,长此以往,必定能构建自己的知识库,如果你觉得一个人学习孤独的话,可以加群与我们一起学习。
  • 全球首个云原生应用标准定义与架构模型 OAM 正式开源
    导读:2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model 开源项目。OAM 为什么值得关注?这些问题都反映出,Kubernetes 以及云原生技术栈需要一种以应用为中心的 API 资源来提供一个专注于应用管理的、标准的、高度一致的模型,这个 API 资源可以代表完整运行的应用本身,而不仅仅是应用模板或者一个应用的几个组成部分,这就是今天阿里云与微软联合宣布推出开放应用模型 Open Application Model 的原因。
  • 如何使用Kubernetes在实践中部署微服务?
    如今,Kubernetes和微服务几乎是同义词,所以最好彻底了解它们是如何组合在一起的。Kubernetes的优势与微服务本身非常相似,容器近年来已成为现代可扩展架构中不可或缺的一部分。然而,现在Kubernetes已经淘汰了竞争对手。Kubernetes能够如此迅速地获得如此多的优势,根因在于它能够将配置与编排分开。使用Kubernetes,你可以指定服务的外观、实例数、冗余类型、服务所在位置。Kubernetes的特点Kubernetes提供的是将容器视为服务定义的能力。除了基本的容器外,Kubernetes还可以使用它所称的Pod。在Kubernetes中,服务就像是将Pod组合到应用程序中的配方。
  • K8s 工程师必懂的 10 种 Ingress 控制器
    今年 2 月,社区曾推送了一篇文章:《在 K8s中,如何选择合适的 Ingress 控制器》。注意,以下评测并不能涵盖所有 Kubernetes Ingress、API 网关、服务网格用例,但会尽可能覆盖常见要求。支持的协议这就像是工程师选择 Ingress 控制器时的基本“参数”。有些 Ingress 控制器必须被装在不同的命名空间中,它们的作用是仅允许流量进入属于该命名空间的 Pod。而大多数 Ingress 控制器是针对整个集群进行全局操作的,在这种情况下,流量可以到达任何 Pod,而无需考虑其命名空间。K8sMeetupIngress 控制器这一节将从 Kubernetes 官方控制器开始,逐渐扩展到其他广为人知的 Ingress 控制器。Kong Ingress 配置是用 CRD 执行的。
活跃用户
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。
开源软件,改变世界!专注于分享各类效率工具,加入我们,和10万人一起探宝寻器!
专注于分享互联网技术文章。笔者待过BAT等一线互联网公司,文笔流畅,酷爱写作与编码,期待你的关注!
每天分享 Java技术栈 干货,路虽远,行则必至。