![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
云原生
文章平均质量分 88
力哥讲技术
空杯心态!
行动是绝望的解药!
展开
-
Kubernetes 配置最佳实践笔记-批注版
Deployment 中描述了对象的期望状态,如果对 spec 的更改被应用了话,Deployment controller 会以。对于新的应用,推荐通过服务的 DNS 名字来访问(而不是通过环境变量)。,当该标签的镜像进行了更新,kubelet 也不会拉取该镜像。,只需要在它的 label selector 中简单的省略发布相关的 label。的 Pod(用来指定暴露在主机上的端口号)。这样当需要的时候能够快速回滚,必要的时候也可以快速的创建集群。这是一个很有用的方式,帮你在一个隔离的环境中调试之前的。原创 2023-11-06 09:27:06 · 196 阅读 · 0 评论 -
使用 skopeo 批量同步 helm chart 依赖镜像
因为配置相对复杂和麻烦,不如直接用一个列表文本,每行代表一个镜像,通过脚本读取每一行分别进行同步,这样更简单。同步镜像时,不管是源和目的,涉及到私有镜像,都需要先登录,不然同步会报错。即可将所有镜像一键同步到目标仓库中,中途如果失败会一直重试直到成功。是一个开源的容器镜像搬运工具,比较通用,各种镜像仓库都支持。然后输入用户名密码即可。原创 2023-08-31 08:45:44 · 348 阅读 · 0 评论 -
57道K8S面试题,呕心沥血整理并附答案,赶紧收藏!
Kubernetes是一个开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它的主要目标是简化容器化应用的部署和管理,并提供弹性、可靠的应用程序编排。Pod是Kubernetes的最小调度和部署单元。它是一个包含一个或多个容器的逻辑主机,这些容器共享网络和存储资源,并且在同一主机上共享生命周期。ReplicaSet是Kubernetes的控制器之一,用于确保在集群中运行指定数量的Pod副本。如果Pod的数量少于指定的副本数,ReplicaSet将创建新的Pod副本;原创 2023-07-25 10:26:30 · 19951 阅读 · 0 评论 -
网关系统就该这么设计(万能通用),稳的一批!
网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别,网桥工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络,在其中传送信息包。网关是一个大概念,不具体特指一类产品,只要连接两个不同的网络都可以叫网关,网桥一般只转发信息,而网关可能进行包装。原创 2023-07-25 10:14:42 · 318 阅读 · 0 评论 -
深“扒”云原生高性能分布式文件系统JuiceFS
JuiceFS 采用「数据」与「元数据」分离存储的架构,从而实现文件系统的分布式设计。文件数据本身会被切分保存在对象存储(例如 Amazon S3),而元数据则可以保存在 Redis、MySQL、TiKV、SQLite 等多种数据库中,你可以根据场景与性能要求进行选择。JuiceFS 提供了丰富的 API,适用于各种形式数据的管理、分析、归档、备份,可以在不修改代码的前提下无缝对接大数据、机器学习、人工智能等应用平台,为其提供海量、弹性、低价的高性能存储。原创 2023-07-25 09:48:29 · 1384 阅读 · 0 评论 -
2023年基准Kubernetes报告:6个K8s可靠性失误
云计算日益成为组织构建应用程序和服务的首选目的地。尽管一年来经济不确定性的头条新闻主要集中在通货膨胀增长和银行动荡方面,但大多数组织预计今年的云使用和支出将与计划的相同(45%),或高于计划的(45%)。Flexera公司2023年云现状报告中的新数据显示,。无论在支出方面的计划如何,许多组织都在寻找方法来控制高昂的云成本,同时确保Kubernetes工作负载的可靠性。但是,将成本尽可能降低并不意味着您不需要确保平台和服务的用户满意度。原创 2023-07-25 09:40:08 · 706 阅读 · 0 评论 -
Kubectl运维脚本核心命令jsonpath的使用详解
Kubectl 支持 JSONPath 模板。JSONPath 模板由 {} 包起来的 JSONPath 表达式组成。Kubectl 使用 JSONPath 表达式来过滤 JSON 对象中的特定字段并格式化输出。使用双引号将 JSONPath 表达式内的文本引起来。使用rangeend运算符来迭代列表。使用负片索引后退列表。负索引不会"环绕"列表,并且只要就有效。函数描述示例结果text纯文本当前对象{@}与输入相同. or []子运算符List..递归下降。原创 2023-07-14 10:23:35 · 1241 阅读 · 0 评论 -
容器化背后的魔法之Docker底层逻辑解密
在深入研究Docker的内部机制之前,我们首先要了解容器的概念。简单地说,容器是一个隔离和轻量级的运行时环境,封装了一个应用程序及其依赖项。与传统的虚拟化不同,在传统虚拟化中,会模拟一个完整的操作系统,而容器共享宿主系统的内核,从而实现更高效的资源利用。在本文中,我们深入探讨了Docker的内部工作原理。我们了解了容器的概念,以及Docker的架构和关键组件。我们还探讨了Docker镜像、Dockerfile和容器运行时的概念,并简要介绍了容器编排和网络。原创 2023-07-11 20:13:06 · 356 阅读 · 0 评论 -
如何用Thanos 和 Prometheus 打造一个高可用的K8S监控系统
配置和设置上述架构大约需要一个月左右的时间,包括测试其他一些解决方案、验证架构、实现、在集群上开启收集以及创建所有仪表盘。在第一周,好处是显而易见的。监控集群变得更加容易,仪表盘可以快速构建和定制,收集 metrics 几乎是即插即用的,大多数应用程序以 Prometheus 格式导出 metrics,并根据 annotations 自动收集。此外,通过集成 Grafana 的 LDAP 可以达到更精细的团队权限控制。原创 2023-05-23 21:18:41 · 603 阅读 · 0 评论 -
Nomad 会替代 Kubernetes 吗?对比一下,两者如何选择?
Nomad 和 Kubernetes 的主要区别在于 Nomad 更加通用和轻量级。Nomad 可以像一个简单的任务调度程序一样工作,也可以根据项目规范承担更重的编排角色。Nomad 是由 HashiCorp 生产的补充工具组成的套件的一部分:Terraform,用于快速基础设施开发Consul,用于自动服务网络Vault,Hashicorp 的 secrets 管理工具。原创 2023-05-23 21:08:22 · 618 阅读 · 0 评论 -
16 张图硬核讲解 Kubernetes 网络
底层网络顾名思义是指网络设备基础设施,如交换机,路由器,DWDM使用网络介质将其链接成的物理网络拓扑,负责网络之间的数据包传输。可以是二层,也可以是三层;二层的典型例子是以太网Ethernet,三层是的典型例子是互联网Internet。而工作于二层的技术是vlan,工作在三层的技术是由OSPFBGP等协议组成。叠加网络是使用网络虚拟化技术,在underlay网络上构建出的虚拟逻辑网络,而无需对物理网络架构进行更改。本质上来说,使用的是一种或多种隧道协议 (tunneling。原创 2023-05-16 18:35:41 · 145 阅读 · 0 评论 -
Kubernetes 自动化诊断利器:k8sgpt-operator
简单来说 k8sgpt-operator 可以在集群中开启自动化的 k8sgpt。它提供了两个 CRD:K8sGPT和Result。前者可以用来设置 k8sgpt 及其行为;而后者则是用来展示问题资源的诊断结果。原创 2023-05-05 09:26:39 · 803 阅读 · 0 评论 -
k8s滚动发布功能从理论到实战
滚动发布,则是我们一般所说的无宕机发布。其发布方式如同名称一样,一次取出一台/多台服务器(看策略配置)进行新版本更新。当取出的服务器新版确保无问题后,接着采用同等方式更新后面的服务器k8s创建副本应用程序的最佳方法就是部署(Deployment),部署自动创建副本集(ReplicaSet),副本集可以精确地控制每次替换的Pod数量,从而可以很好的实现滚动更新。原创 2023-04-24 11:33:59 · 549 阅读 · 0 评论 -
Kubernetes生产环境最佳实践17条
Kubernetes是一种流行的容器编排工具,但在生产环境中部署和管理Kubernetes可能会面临一些挑战。为了确保生产环境的高可用性、可伸缩性和安全性,需要遵循一些最佳实践。这些实践包括使用合适的硬件和网络基础设施、使用可靠的存储和备份策略、进行监控和日志记录、使用适当的安全措施以及实施自动化和持续集成/持续交付流程。遵循这些最佳实践将有助于确保Kubernetes在生产环境中的稳定性和可靠性。原创 2023-04-23 16:50:57 · 393 阅读 · 0 评论 -
Nginx Ingress实现灰度发布从理论到实战
Ingress作为K8S集群中一种独立的组件,我们需要通过创建它来控制外部访问流量的策略,并通过Ingress Controller将其分配到一个或多个SVC中。K8S官方维护的Controller为Nginx Ingress,该Ingress支持通过配置注解(英文:annotations)的方式来实现蓝绿发布、灰度发布和A/B测试等场景。使用案例案例一:切分部分用户流量到新版本。原创 2023-04-18 18:33:10 · 1434 阅读 · 0 评论 -
2023年一定要懂的热点趋势--轻松搞懂云成本优化:FinOps
我们看看官方定义:FinOps定义了一系列云财务管理规则和最佳实践,通过助力工程和财务团队、技术和业务团队彼此合作,进行数据驱动的成本决策,使组织能够获得最大收益。总结一下,FinOps是文化实践,是意识转变,是流程规范,是团队协作。怎么样?看完这些总结是不是更迷糊了。我尝试从个人生活账单来讲一个FinOps的故事。希望你能从上面的故事中,感受到什么是FinOps。简单粗暴的地讲,FinOps是财务管理+经营管理+成本管理,需要自动化系统赋能。原创 2023-04-18 11:53:37 · 213 阅读 · 0 评论 -
OCP4.10上英伟达GPU离线安装配置实战
在 OpenShift 上进行了完整的认证,并且作为标准 Red Hat Marketplace Operaort 提供给 OpenShift 用户使用,因此 Nvidia GPU Operator 在 OpenShift 上非常简单,唯一需要注意的就是之前提到过的,在所检索的节点上 BIOS 是否有 Security Boot 设置,由于 Nvidia GPU Operator 会直接操作节点的上的受信软件变更。这个错误并不是说明过程如何被阻塞的,具体的提示会在相应 Pods 的执行日志里面。原创 2023-04-17 23:19:21 · 801 阅读 · 0 评论 -
一文“六问”带你吃透kubernetes架构原理
本文通过问答的方式不涉及任何深入的实现细节。从整体的角度,从概念上介绍了Kubernetes涉及的基本概念。相关用途包括:NodePodLabelSelector与运行过程相关的是:kubeletkube-proxypause。原创 2023-04-17 14:04:37 · 81 阅读 · 0 评论 -
Kubernetes中设置 CPU 的 requests 和 limits详解
在 Kubernetes 中,您有两种方法来指定一个 pod 可以使用多少 CPU:Requests通常用于确定平均消耗。Limits设置允许的最大资源数。Kubernetes 调度器使用 requests 来确定 pod 应该分配到集群中的哪个节点。由于调度器并不知道实际消耗(pod 尚未启动),它需要一个提示。原创 2023-04-17 13:53:25 · 3985 阅读 · 2 评论 -
GitOps实践篇:Argo CD 详解,手把手教你入门
其中的软件设施,包括 IaaS、Kubernetes 这样的基础设施,也包括应用本身。实际上,Argo CD 的功能并不止于此,比如修改 Git Repo 之后,可以同步到 Kubernetes 中进行更新;另一方面,在更新 Kubernetes 时,Argo CD 还支持 Kustomize、Helm、Ksonnet、Yaml、Json、自定义扩展的资源描述方式,这在使用上会非常方便。对于一般的 Kubernetes 运维场景,上面描述的功能是够用的。等待一会儿,查看详情,可以看到应用的拓扑图。原创 2023-04-06 16:03:19 · 865 阅读 · 0 评论 -
大厂都在用的k8s工作负载增强之 OpenKruise
OpenKruise (官网: https://openkruise.io) 是CNCF(Cloud Native Computing Foundation) 的孵化项目。它提供一套在 Kubernetes核心控制器 之外的扩展工作负载、应用管理能力。力哥观察到例如“阿里巴巴集团, 蚂蚁集团, 斗鱼TV, 申通, Boss直聘”这种互联网巨头已经在使用这个开源项目OpenKruise 是一个基于 Kubernetes 的,主要聚焦于云原生应用的自动化,比如部署、发布、运维以及可用性防护。原创 2023-03-31 09:26:39 · 306 阅读 · 0 评论 -
利用Kubecost量化Kubernetes使用成本
近年来,Kubernetes已经成为广泛使用的容器编排平台。随着Kubernetes集群的使用,不同的操作方式也随之而来。一些企业更喜欢硬多租户模型,即一个集群对应一个租户,而另一些企业则更倾向于软多租户模型,即一个集群对应多个租户。软多租户模型已经被许多企业采用,因为它可以减少很多运营工作。然而,在软多租户模型下,成本分配给不同租户的可见性非常重要,以便可以向组织收费。原创 2023-03-22 08:49:37 · 264 阅读 · 0 评论 -
如何对传统应用进行容器化改造
并没有一个特定的定义能够描述所有的传统应用,但它们有一些共同的特性:使用本地文件系统来持久化存储,数据文件和应用的文件混合在一起。在同一个服务器上运行很多服务,比如 MySQL 数据库,Redis 服务器,nginx web 服务器,一个 Ruby on Rails 应用,以及一大堆定时任务使用大杂烩式的脚本和手工流程进行安装和升级(文档也很简陋)。配置是存储在文件里的,通常散落在多个位置,并与应用的文件混在一起。原创 2023-03-21 13:21:09 · 560 阅读 · 0 评论 -
彻底颠覆DevOps!探究GitOps的设计哲学和好处
GitOps:颠覆你对DevOps的认知!从这篇文章中,你不仅能够一步步掌握GitOps的设计哲学,更能深刻领悟它所带来的巨大好处!原创 2023-03-13 12:08:00 · 197 阅读 · 0 评论 -
开源云原生平台KubeSphere vs Rainbond谁与争锋?!
总体来说,KubeSphere和Rainbond都很成熟,也都有大量开源使用用户,只是定位不同,所以适用场景也会不同。KubeSphere 在兼容Kubernetes生态方面做的非常好,包装和整合了很多云原生的工具,并扩展了对Kubernetes和开源工具的管理能力,对于想要管理Kubernetes集群的系统管理员是个好的工具,熟悉Kubernetes的工程师也可以自行扩展KubeSphere的能力。但对开发人员来开发和管理应用来说,门槛比较高,需要学习和理解的概念非常多。原创 2023-03-08 14:09:59 · 572 阅读 · 0 评论 -
扒一扒OpenShift和Kubernetes区别的那些事
总之,Kubernetes是一个容器编排引擎,而OpenShift是一个基于Kubernetes构建的容器云平台,提供了更多的功能和服务。一个设计良好的作业调度程序,跨多台及其运行,能够协调托管在其上的工作负载的状态,自然就会促进协作,就像Linux内核为单个主机上调度工作负载所做的那样。这些额外的资源类型组成了OpenShift 内部状态和配置,还有应用的资源。在很多手机、电脑、服务器,甚至是树莓派上,运行的都是相同的Linux 内核,但是通过不同的补丁来支持多种多样的硬件。原创 2023-03-08 10:50:55 · 1506 阅读 · 0 评论 -
云原生之路:趣谈容器技术从落地到最佳实践
随着科技的发展,云原生技术正成为数字化转型的重要一环。今天,让我们一起踏上云原生之路,探索容器技术以及实现云原生的最佳实践。容器技术的出现,使得应用的开发部署变得更加快捷、灵活,极大地提高了企业级应用的可扩展性和可移植性。它们也帮助企业节省成本,更快地创新,加速转型。此外,最佳实践是实现云原生的最佳方式,可以帮助企业节约时间和费用,更快地实现数字化转型。总之,容器技术和最佳实践可以帮助企业更快地融入云原生之路。容器的英语是 Container,它的意思是集装箱。我们知道,经济全球化的基础就是现代运输体系,而原创 2023-03-02 15:02:58 · 326 阅读 · 0 评论 -
云原生:K8s(Kubernetes)高频典型面试题夺命68问及答案
调度器在调度时,首先要确保调度后该节点上所有 Pod 的 CPU 和内存的 Requests 总和,不超过该节点能提供给 Pod 使用的 CPU 和Memory 的最大容量值。当定义了 RC 并提交至Kubernetes 集群中之后,Master 节点上的 Controller Manager 组件获悉,并同时巡检系统中当前存活的目标Pod,并确保目标 Pod 实例的数量刚好等于此 RC 的期望值,若存在过多的 Pod 副本在运行,系统会停止一些Pod,反之则自动创建一些 Pod。原创 2023-02-28 13:47:42 · 1659 阅读 · 0 评论 -
10.3K Star,值得推荐的企业级开源低代码引擎!
LowCodeEngine是由阿里巴巴钉钉团队开源的低代码引擎, 该引擎全面遵循《阿里巴巴中后端前端基础构建协议规范》和《阿里巴巴中后端前端素材协议规范》。Edge >= 80safari和。原创 2023-02-22 12:17:05 · 170 阅读 · 0 评论