作者阳明来源k8s技术圈(ID:kube100)软件世界的发展比以往任何时候都快,为了保持竞争力需要尽快推出新的软件版本,而又不影响在线的用户。许多企业已将工作负载迁移到了Kubernetes集群,Kubernetes集群本身就考虑到了一些生产环境的实践,但是要让Kubernetes实现真正的零停机不中断或丢失请求,我们还需要做一些额外的操作才行。滚动更新默认情况下,Kubernetes的Deployment是具有滚动更新的策略来进行Pod更新的,该策略可以...
2022-05-05 14:45:28 5662浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)近来由于冠状病毒疫情的扩散,很多公司不得不开始了远程办公的模式,远程办公最大的成本自然是沟通成本了,对于我们开发人员来说最重要的自然也是有一个顺手的IDE工具,现在在云端作业的工具也在逐渐增长,比如最近比较流行的设计应用Figma,就完全是云端操作的方式,大有要取代Sketch的趋势,对于开发工具来说云端IDE也逐渐受到大家重视,特别是对于远程办公的团队,CloudIDE允许开发团队...
2022-05-05 14:39:47 7764浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)Prometheus作为现在最火的云原生监控工具,它的优秀表现是毋庸置疑的。但是在我们使用过程中,随着时间的推移,存储在Prometheus中的监控指标数据越来越多,查询的频率也在不断的增加,当我们用Grafana添加更多的Dashboard的时候,可能慢慢地会体验到Grafana已经无法按时渲染图表,并且偶尔还会出现超时的情况,特别是当我们在长时间汇总大量的指标数据的时候,Prometheus查询超时的情况可...
2022-05-05 14:35:30 8418浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)前面我们主要介绍了Prometheus下如何进行白盒监控,我们监控主机的资源用量、容器的运行状态、数据库中间件的运行数据、自动发现Kubernetes集群中的资源等等,这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。而从完整的监控逻辑的角度,除了大量的应用白盒监控以外,还应该添加...
2022-05-05 14:31:00 2.1w浏览 1点赞 1回复 1收藏
作者阳明来源k8s技术圈(ID:kube100)前段时间阿里云和微软云联合发布了OpenApplicationModel(OAM),简单来说就是利用一个规范对应用程序进行建模以区分开发和运维人员的职责。开发人员负责描述微服务或组件的功能,以及如何配置它;运维负责配置其中一个或多个微服务的运行时环境;基础设施工程师负责建立和维护应用程序运行的基础设施。其中Rudr是针对Kubernetes上面的OAM的参考实现。Rudr的应用程序有三个元素:Component...
2022-05-05 14:24:14 6488浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)我们在使用Kubernetes过程中,偶尔会遇到如下所示的一段配置:securityContext:capabilities:drop:ALLadd:NETBINDSERVICE实际上这是配置对应的容器的Capabilities,在我们使用dockerrun的时候可以通过capadd和capdrop命令来给容器添加LinuxCapabilities。对于大部分同学可能又要疑问LinuxCapabilities是什么呢?LinuxCapabilities要了解LinuxCapabilities,这就得从Linux的权限控制发展来...
2022-05-05 14:18:09 9307浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)在Kubernetes中通过Ingress来暴露服务到集群外部,这个已经是一个很普遍的方式了,而真正扮演请求转发的角色是背后的IngressController,比如我们经常使用的traefik、ingressnginx等就是一个IngressController。本文我们将通过golang来实现一个简单的自定义的IngressController,可以加深我们对Ingress的理解。概述我们在Kubernetes集群上往往会运行很多无状态的Web应用,一般来说这些应用...
2022-05-05 11:19:11 7009浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)前面我们学习了很多关于Prometheus的内容,也学习了HPA对象的使用,但是一直没有对自定义指标来对应用进行扩缩容做过讲解,本篇文章我们就来了解下如何通过自定义指标来做应用的动态伸缩功能。环境准备1.10.0+版本的Kubernetes集群可以访问集群的节点上安装Helm和Kubectl工具在集群中初始化了HelmClone项目本文使用到的相关代码都统一放置到了GitHub上,Clone代码到本地:$gitclonehttps:g...
2022-05-05 11:02:58 7048浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)我们经常有在外网访问本地服务的需求,特别是在开发调试阶段,比如做微信登录或者微信支付的时候就需要使用外网正式的域名,然而我们很多时候都是在本地进行开发,我们不可能频繁的部署到外网环境去进行测试,因为这样效率太低了,这是我们开发会经常面临的一个问题。对于这个问题有很多常用的内网穿透方案,今天我们来为大家介绍的是一个名为inlets的工具,该工具是Go语言编写的,之前发...
2022-05-05 10:49:09 5285浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)默认情况下,Kubernetes允许创建一个有特权容器的Pod,这些容器很可能会危机系统安全,而Pod安全策略(PSP)则通过确保请求者有权限按配置来创建Pod,从而来保护集群免受特权Pod的影响。PodSecurityPolicy是KubernetesAPI对象,你可以在不对Kubernetes进行任何修改的情况下创建它们,但是,默认情况下不会强制执行我们创建的一些策略,我们需要一个准入控制器、kubecontrollermanager配置...
2022-05-05 09:46:11 6234浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)Argo是Applatix推出的一个开源项目,为Kubernetes提供containernative(工作流中的每个步骤是通过容器实现)工作流程。Argo可以让用户用一个类似于传统的YAML文件定义的DSL来运行多个步骤的Pipeline。该框架提供了复杂的循环、条件判断、依赖管理等功能,这有助于提高部署应用程序的灵活性以及配置和依赖的灵活性。使用Argo,用户可以定义复杂的依赖关系,以编程方式构建复杂的工作流、制...
2022-05-05 09:37:08 8449浏览 0点赞 0回复 0收藏
作者阳明来源k8s技术圈(ID:kube100)上午看新闻发现VMWare开源了一款KubernetesDashboard的可视化工具Octant,这是一款帮助开发人员了解应用程序在Kubernetes集群中如何运行的工具。它通过可视化的方式,呈现Kubernetes对象的依赖关系,可将本地端口请求转发到正在运行的pod,查看pod日志,浏览不同的集群。此外,用户还可以通过安装或编写插件来扩展Octant的功能。对应Linux用户来说现在可以直接通过.deb或者.rpm包来进行安...
2022-05-05 09:21:56 8085浏览 0点赞 0回复 0收藏