![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
云原生
文章平均质量分 87
进击云原生
专注云原生、Go、Linux、Java等技术分享,原创文章、效率工具、实战解决方案!关注我,了解互联网动态,学 IT 不迷路
展开
-
Kubernetes 1.26 新功能 Pod 调度就绪特性解析
Kubernetes 1.26 新功能 Pod 调度就绪特性解析Kubernetes 1.26 引入了 Pod 的一个新特性:scheduling gates。在 Kubernetes 中,调度门是告诉调度程序何时准备好考虑调度 Pod 的 keys。它解决了什么问题?当一个 Pod 创建时,调度器会不断尝试寻找适合它的节点。这个无限循环一直持续到调度程序找到 Pod 的节点,或者 Pod 被删除。长时间保持不可调度的 Pod(例如,在某些外部事件上被阻塞的 Pod)会浪费调度周期。根据 Pod 调原创 2022-12-27 07:11:01 · 1069 阅读 · 0 评论 -
Docker Desktop 4.15 正式发布,这里是新功能
现在可用于所有平台:Linux、Windows 和 macOS。它附带、和。原创 2022-12-26 19:31:55 · 1591 阅读 · 0 评论 -
使用 Docker Hub 完美地存储 Helm 图表实战
是 Kubernetes 的包管理器。它是一个开源容器编排系统。它通过提供一种简单的方法来定义、安装和升级复杂的 Kubernetes 应用程序,帮助您管理 Kubernetes 应用程序。使用 Helm,您可以将您的应用程序打包成一个,它是描述您的应用程序的一组文件。然后,您可以使用 Helm 在 Kubernetes 集群上安装和管理您的应用程序。Helm 可以轻松地自动安装和管理复杂的应用程序,它提供的许多功能使其成为管理 Kubernetes 应用程序的强大工具。原创 2022-12-26 10:59:55 · 1157 阅读 · 0 评论 -
Kubernetes 1.26 正式发布,变化重大,所有更改都在这里了!
Kubernetes 1.26 正式发布,变化重大,所有更改都在这里了!Kubernetes 1.26 已经正式发布,满载新奇!此版本带来了 37 项增强功能,与 Kubernetes 1.25 中的 40 项 和 Kubernetes 1.24 中的 46 项相当。在这 37 项增强功能中,11 项正在升级为稳定版,10 项是不断改进的现有功能,16 项是全新的,1 项是已弃用的功能。此版本中有两个突出的新功能,它们有可能改变用户与 Kubernetes 交互的方式:能够使用来自其他命名空间的快照来原创 2022-12-10 09:37:27 · 1536 阅读 · 0 评论 -
6 张配图通俗易懂说透 K8S 请求和限制
6 张配图通俗易懂说透 K8S 请求和限制在 Kubernetes 中使用容器时,了解涉及的资源是什么以及为何需要它们很重要。有些进程比其他进程需要更多的 CPU 或内存。这很关键,永远不应该让进程挨饿。知道了这一点,我们应该正确配置容器和 Pod,以便充分利用两者。Kubernetes 限制和请求简介使用 Kubernetes 时,限制和请求是重要的设置。本文将重点关注两个最重要的:CPU 和内存。Kubernetes 将限制定义为 容器可以使用的最大资源量。这意味着容器永远不会消耗超过指示的内存原创 2022-12-08 11:09:12 · 1483 阅读 · 0 评论 -
提高 K8S 容器运行时的可观察性最佳方法之一
提高 K8S 监控可观察性最佳方式实战教程当谈到云原生可观察性时,可能每个人都会提到OpenTelemetry (OTEL),因为社区需要依赖标准来将所有集群组件开发指向到同一方向。OpenTelemetry 使我们能够将日志、指标(metrics)、跟踪(traces)和其他上下文信息组合到一个资源中。集群管理员或软件工程师可以使用此资源来获取在定义的时间段内集群中正在发生的事情的视图。但是 Kubernetes 本身如何利用这个技术栈呢?Kubernetes 由多个组件组成,其中一些组件是独立的,原创 2022-12-06 09:45:42 · 750 阅读 · 0 评论 -
Kubernetes 1.26 中的删除、弃用和主要更改
Kubernetes 1.26 中的删除、弃用和主要更改变化是 Kubernetes 生命周期不可或缺的一部分:随着 Kubernetes 的成长和成熟,功能可能会被弃用、删除或替换为项目健康的改进。对于 Kubernetes v1.26,有几个计划:本文根据 v1.26 发布过程中这个周期中期点可用的信息确定并描述了其中的一部分,该过程仍在进行中,并且可能会引入其他更改。Kubernetes API 移除和弃用流程Kubernetes 项目有一个有据可查的功能弃用政策。https://kuber原创 2022-12-06 09:43:32 · 1508 阅读 · 0 评论 -
使用 Helm Cli 将 chart 推送到 Harbor
*温馨提示:**上述操作在 v3.6.3 版本的 helm 上 pull 时会报错。,这很重要且没有很好的文档说明,但需要让 Chart 显示在 Harbor 的 Helm Charts 下。为了将来安全起见,建议切换到选项 3,因为 Chartmuseum 已在 Harbor 中标记为已弃用。检查 Harbor project -> helm charts,这样推送后,是存储在。努力寻找适用于特定版本的 Harbor 和 Helm 的文档。如果尝试直接推送,而不使用已注册的。**提醒:**这是将文件。原创 2022-11-22 16:51:42 · 1772 阅读 · 0 评论 -
CKA、CKAD、CKS、LFCS、LFCA、LFCE 60$ 刀优惠券
CKA、CKAD、CKS、LFCS、LFCA、LFCE 60$ 刀优惠券CKA 地址:https://trainingportal.linuxfoundation.org/courses/certified-kubernetes-administrator-china-exam-cka-cncoupon 券SCOFFER15DCUBEOFFER说明请关注 危 ❤ 工中号【进击云原生】,更有 free 资源供您学习本文由 mdnice 多平台发布原创 2022-11-19 18:56:08 · 951 阅读 · 1 评论 -
图文轻松说透 K8S Pod 各种驱逐场景
图文轻松说透 K8S Pod 各种驱逐场景Kubernetes Pod 被驱逐是什么意思?它们被终止,通常是没有足够资源的结果。但是为什么会这样呢?驱逐是指派给节点的Pod 被终止的过程。Kubernetes 中最常见的情况之一是Preemption,为了在资源有限的节点中调度新的 Pod,需要终止另一个 Pod 以释放资源。此外,Kubernetes 会不断检查资源并在需要时驱逐 Pod,这个过程称为节点压力驱逐。在本文中,您将发现:Pod 被驱逐的原因:抢占和节点压力抢占式驱逐Pod 调度原创 2022-11-18 23:24:36 · 721 阅读 · 0 评论 -
企业级网关 Kong 部署 Spring Boot 项目实战
企业级网关 Kong 部署 Spring Boot 项目实战1、概述在本教程中,我们将演示使用 Kong Ingress Controller (KIC) 在 Kubernetes 上部署 Spring Boot 应用程序。通过为应用程序实现一个简单的速率限制器来演示 KIC 的高级使用,而无需任何编码。2. 改进的安全和访问控制现代应用程序部署,尤其是 API,需要应对许多挑战,例如:隐私法(例如 GPDR)、安全问题 (DDOS) 和使用跟踪(例如 API 配额和速率限制)。在这种情况下,现代应原创 2022-11-18 20:02:23 · 980 阅读 · 0 评论 -
镜像仓库 Harbor 对接 MinIO 和 nfs 对象存储,详细教程
Harbor 的部署可以使用 NFS 存储,虽然可以使用 rsync+inotify 做数据同步做解决单点问题,但是 NFS 效率/性能有限,没有对象存储那么强大,所以一般使用对象存储居多,这里选用MinIO对象存储软件,当然也可以使用Ceph或者其它对象存储。k8S 最新版最完整版环境部署+master 高可用实现 + dashboard + harbor。转载 2022-09-01 19:33:09 · 1145 阅读 · 0 评论 -
32 张配图详解 K8S 1.24 高可用部署,保姆级详细版
一、前言二、基础环境部署1)前期准备(所有节点)1、修改主机名和配置 hosts2、配置 ssh 互信3、时间同步4、关闭防火墙5、关闭 swap6、禁用 SELinux7、允许 iptables 检查桥接流量(可选,所有节点)2)安装容器 docker(所有节点)3)配置 k8s yum 源(所有节点)4)将 sandbox_image 镜像源设置为阿里云 google_containers 镜像源(所有节点)5)配置 containerd cgroup 驱动程序 systemd转载 2022-09-01 08:49:03 · 556 阅读 · 0 评论 -
Acorn,用于 Kubernetes 的轻量级、可移植的 PaaS
Acorn 是 Rancher 创始人推出的一个新的应用程序部署框架,它非常接近我对运行在 Kubernetes 上的开发环境的期望。长期以来,我一直主张用一种简化的方法来开发和部署以 Kubernetes 为目标的应用程序。我之前需要一个可移植的、透明的、开源的应用程序层,该应用程序层将始终部署在开发人员笔记本电脑中的 Minikube 集群或在公共云中配置的大型多节点集群内运行。作为高人气的 Kubernetes 发行版。...翻译 2022-08-31 12:27:35 · 366 阅读 · 0 评论 -
在 Docker Compose 中重建 Docker 容器
在本教程中,我们将看到如何使用独立于其他容器重建容器。翻译 2022-08-31 12:26:26 · 5390 阅读 · 0 评论 -
采用服务网格 Servicemesh 的 6 大好处?谁从服务网格的工具整合中受益?
服务网格可以做从服务发现到零信任安全、负载均衡、多云连接、自动化和南北流量的所有事情。即使服务网格的采用持续增长,一些组织仍在尝试全面了解服务网格可以做什么和不能做什么。他们可能没有意识到服务网格不仅是一种单一用途的工具,而且可以满足各种网络需求。服务网格实际上可能有助于整合多个现有工具,以帮助减少管理工作和成本。看看这两种多云网络架构:哪个看起来不那么复杂?如果您选择的服务网格与云无关,则可以大大简化多云架构。...翻译 2022-08-31 11:18:25 · 556 阅读 · 0 评论 -
Ceph 存储的那点事儿 ~ Trim/Discard
实际上做不做 Trim/Discard 操作对于 HDD 类型的文件系统来说没什么影响, HDD 可以覆盖使用,但是 SSD 不允许覆盖,只能在系统要求在相同的地方写入数据时先擦除再写入,这会影响 SSD 的性能,因此建议 SSD 做 Trim/Discard 操作。对于 Ceph 来说,不做 Trim/Discard 操作在 OSD 看到的使用空间跟实际使用的空间会不一样。这就有点像 Oracle 的高水位线了,delete 表数据,表空间的高水位线不会下降,但是可以覆盖。...转载 2022-08-29 19:17:29 · 494 阅读 · 0 评论 -
7 张图解 CrashLoopBackOff,如何发现问题并解决它?
是一种 Kubernetes 状态,表示 Pod 中发生的重启循环:Pod 中的容器已启动,但崩溃然后又重新启动,一遍又一遍。Kubernetes 将在重新启动之间等待越来越长的回退时间,以便您有机会修复错误。因此,CrashLoopBackOff 本身并不是一个错误,而是表明发生了一个错误,导致 Pod 无法正常启动。Pod 在 Running、Failed 和 Waiting 之间循环请注意,它重新启动的原因是因为它设置为Always(默认情况下)或OnFailure。...翻译 2022-08-29 13:50:57 · 857 阅读 · 0 评论 -
容器和 Kubernetes 中的退出码完整指南
当容器终止时,容器引擎使用退出码来报告容器终止的原因。如果您是 Kubernetes 用户,容器故障是 pod 异常最常见的原因之一,了解容器退出码可以帮助您在排查时找到 pod 故障的根本原因。下面我们将解释如何在宿主机和 Kubernetes 中对失败的容器进行故障排除,并提供有关上面列出的所有退出代码的更多详细信息。......翻译 2022-08-28 20:14:50 · 2699 阅读 · 0 评论 -
k8s中负载均衡器【ingress-nginx】部署
k8s中负载均衡器【ingress-nginx】部署原创 2019-07-15 00:15:03 · 3588 阅读 · 0 评论 -
kube-apiserver审计日志记录和采集
Kubernetes 审计功能提供了与安全相关的按时间顺序排列的记录集,记录单个用户、管理员或系统其他组件影响系统的活动顺序。它能帮助集群管理员处理以下问题:发生了什么?什么时候发生的?谁触发的?为什么发生?在哪观察到的?它从哪触发的?它将产生什么后果?Kube-apiserver执行审计。每个执行阶段的每个请求都会生成一个事件,然后根据特定策略对事件进行预处理并写入后端...原创 2019-10-18 00:48:42 · 3178 阅读 · 0 评论 -
kubernetes自定义资源对象高级功能
kubernetes自定义资源对象高级功能kubernetes自定义资源对象再极大程度提高了API Server的可扩展性,让企业能够根据业务需求通过CRD编写controller或者operator来实现生产中各种特殊场景。随着k8s的版本升级,CRD的功能也越来越完善,下面对其中几点进行说明。以下验证kubernetes版本为1.13.2,docker版本:18.09.5Validat...原创 2019-05-17 08:19:42 · 1909 阅读 · 0 评论 -
就在刚刚 Kubernetes 1.25 正式发布,包括这些重大变化
PodSecurityPolicies 被最终删除,取而代之的是 PodSecurity admission。对 user namespaces 的支持、取证分析的检查点、安装卷时 SELinux 的改进、NodeExpansion Secret,以及对官方 CVE 提要的改进。不可重试的 Pod 故障、KMS v2 改进、清晰的 IPTables 链所有权,PVC 的 StorageClass 默认值,CSI的迁移完成。NetworkPolicies端口范围, Ephemeral卷,支持Cgroup v2原创 2022-08-23 19:21:39 · 744 阅读 · 0 评论 -
使用 K8spacket 和 Grafana 对 Kubernetes 的 TCP 数据包流量可视化
如何知道 K8S 集群内 Pod 之间建立了哪些 TCP 连接?集群之间存在哪些调用关系?使用 k8spacket和Grafana,您可以可视化集群中的 TCP 流量。了解工作负载如何相互通信,以及建立了多少连接,交换了多少字节,这些连接处于活动状态的时间。k8spacket是用 Golang 编写的工具,它使用gopacket第三方库来嗅探工作负载(传入和传出)上的 TCP 数据包。它在运行的容器网络接口上创建 TCP 侦听器。...原创 2022-08-15 14:00:27 · 2512 阅读 · 0 评论 -
10 个关于 ArgoCD 的最佳实践
Argo CD在每个存储库中,所有和AppProject清单都应匹配相同的。原因实际上取决于您如何安装 Argo CD。如果您在典型部署中部署了 Argo CD,则 Argo CD 会在后台创建两个和,默认情况下它们引用argocd命名空间。在这种情况下,建议不仅要确保所有 Argo CD 资源与 Argo CD 实例的命名空间匹配,还要使用argocd命名空间,否则,您需要确保更新所有 Argo CD 内部资源中的命名空间引用。......翻译 2022-08-13 11:03:40 · 593 阅读 · 0 评论 -
Kubectl 多版本管理
Kubernetes 版本发展迅速,我们可能会发现自己管理的集群相差 4 或 5 个次要版本。而且由于升级 K8s 不是一项简单的任务,我们将一直在追赶一些集群。例如,现在我必须同时使用 1.18 集群和 1.22 集群,这很痛苦,因为您用于访问集群的 kubectl 版本最多只能相差一个小版本:skew ≤ 1。但在我的情况是 skew = 4,这意味着我需要为每个集群使用不同的 kubectl 二进制文件。直接管理这些二进制文件是不可能的,这不是一个干净的解决方案。相反,我们使用“asdf”工具版本管理翻译 2022-08-13 10:59:20 · 514 阅读 · 0 评论 -
K8s 暴露服务的新方法 Gateway API 详解,它有什么好处?
Gateway API 是新的官方 Kubernetes 资源的集合,它们定义了由供应商实现的规范,类似于 Ingress 由 Google、Amazon 等实现的方式。ReferenceGrant(仍处于 alpha 阶段,替换 ReferencePolicy )TCPRoute(仍处于 alpha 阶段)TLSRoute(仍处于 alpha 阶段)UDPRoute(仍处于 alpha 阶段)SIG-Network 所述的新面向角色。...翻译 2022-08-08 11:04:05 · 2450 阅读 · 0 评论 -
Kubernetes 1.25 中的删除和主要变化
随着 Kubernetes 的发展和成熟,有些功能可能会被弃用、删除或替换。Kubernetes v1.25 包括几项重大更改和删除。原创 2022-08-08 11:01:24 · 411 阅读 · 0 评论 -
K8s 暴露服务的新方法 Gateway API 详解,它有什么好处?
Gateway API 是新的官方 Kubernetes 资源的集合,它们定义了由供应商实现的规范,类似于 Ingress 由 Google、Amazon 等实现的方式。ReferenceGrant(仍处于 alpha 阶段,替换 ReferencePolicy )TCPRoute(仍处于 alpha 阶段)TLSRoute(仍处于 alpha 阶段)UDPRoute(仍处于 alpha 阶段)SIG-Network 所述的新面向角色。...翻译 2022-08-03 09:07:18 · 310 阅读 · 0 评论 -
Java 服务 Docker 容器化最佳实践
当我们在容器中运行 Java 应用程序时,可能希望对其进行调整以充分利用资源。在本教程中,我们将了解如何在运行 Java 进程的容器中设置 JVM 参数。本文将重点关注常见的 -Xmx 和-Xms 标志。另外,我们还将研究使用某些 Java 版本运行的程序容器化的常见问题,以及如何在常见的容器化 Java 应用程序时设置自定义标志。过去,JVM 不知道分配给容器的内存和 CPU。Java 10 引入了一个新设置:(默认启用)来修复 这个问题,并在 8u191 中将修复反向移植到 Java 8 。现在 JVM原创 2022-07-30 22:35:47 · 1067 阅读 · 0 评论 -
7 张图轻松理解 K8S 集群内服务通信
深入了解支持服务间通信的3个原生k8s对象ClusterIPService、DNS和Kube-Proxy。翻译 2022-07-26 09:15:10 · 840 阅读 · 0 评论 -
一些实用、常用、效率越来越高的 Kubernetes 别名
在本文中,我将与您分享一些别名,这些别名将显着加快您与K8s的交互。以下是我使用过并很有用的别名……这个命令在下面和日常生活中都被大量使用。对所有命名空间执行应用YML文件放入容器上的交互式终端快速管理配置以在本地、开发广告登台之间切换上下文列出所有上下文删除或强制删除豆荚管理。按标签获取pod通过命名空间获取pod服务管理。入口管理ConfigMap管理秘密管理部署管理部署管理状态集管理。转发端口访问所有信息的工具日志文件副本节点管理PVC管理。...原创 2022-07-26 09:14:17 · 279 阅读 · 0 评论 -
如何在 K8S CKA、CKS 认证中失败!请仔细阅读,风险自负!
我希望你明白,如果想在CK{A,S}考试中取得成功,你不应该做我写的事情。这些失败有时是必要的,以提醒我们可以失败,然后从失败中学习,这是生活的一部分,不要觉得你在社交媒体上看到的大多都是成功案例,其实每个人都会经历失败。最后,祝你好运,我希望你不要失败!...翻译 2022-07-25 10:37:54 · 1334 阅读 · 2 评论 -
从kubectl top看K8S监控原理
kubectltop可以很方便地查看node、pod的实时资源使用情况如CPU、内存。这篇文章会介绍其数据链路和实现原理,同时借kubectltop阐述k8s中的监控体系,窥一斑而知全豹。kubectltop为什么会报错?kubectltopnode怎么计算,和节点上直接top有什么区别?kubectltoppod怎么计算,包含pause吗?kubectltoppod和exec进入pod后看到的top不一样?k8s1.8。...转载 2022-07-21 11:03:03 · 1084 阅读 · 0 评论 -
基于 Kubesphere 流水线的 GitOps 最佳实践
集成了ArgoCD,但与笔者目前使用的K8S版本不兼容。再者,目前Kubesphere中持续集成和流水线打通还是不太友好,也缺少文档说明(可能是笔者没有找到)。原创 2022-07-20 21:17:02 · 706 阅读 · 0 评论 -
ArgoCD 用户管理、RBAC 控制、脚本登录、App 同步
用admin用户登录后,修改gitops的密码为gitops@smallsoup(注意current-password是当前登录用户的密码,如果用admin登录的,就是admin的密码)给gitops用户生成token(这样生成的token从不过期,可以加–expires-in参数设置过期时长)此用户登录进去看不到admin建的任何资源(app、project、仓库、cluster等)。之后就需要login了,需要指定–server和–insecure。......原创 2022-07-20 20:23:35 · 899 阅读 · 0 评论 -
CKS CKA CKAD 将终端更改为远程桌面
CKS、CKA、CKAD 考试于 2022 年 6 月移至 PSI Bridge,将终端更改为远程桌面,它现在提供到远程桌面的 VNC 连接。描述了我在 2022 年 6 月 27 日参加 CKAD 考试时对新界面的体验。内容没有改变,考试仍然遵循当前的课程:但是您需要使用 Kubernetes 的浏览器界面,发生了很大的变化。在您访问浏览器终端之前。可以在本地浏览器的另一个选项卡或窗口中打开 K8s 文档:现在您可以访问完整的远程 XFCE 桌面,将在其中运行终端应用程序和 Firefox。将在远程浏览器翻译 2022-07-13 09:15:50 · 311 阅读 · 0 评论 -
调试必备,详解 HTTP 客户端调用 K8S API,建议收藏!
使用 CLI(如 curl)或 GUI(如 postman )HTTP 客户端调用 Kubernetes API 有很多原因。例如,您可能需要对 Kubernetes 对象进行比 kubectl 提供的更细粒度的控制,或者只是想在尝试从代码访问 API 之前进行探索。本文不仅仅是一个方便的命令列表,而是一个深思熟虑的演练,揭示了您在从命令行调用 Kubernetes API 时可能会偶然发现的一些问题。它涵盖以下内容:如果你没有 Kubernetes 集群可以做实验,这里是你可以使用 arkade 快速创建翻译 2022-07-13 09:13:43 · 2062 阅读 · 0 评论 -
图解 K8S 中 SpringBoot Pod 如何优雅关闭,减少对用户的影响
在应用程序的整个生命周期中,正在运行的 pod 会由于多种原因而终止。在某些情况下,Kubernetes 会因用户输入(例如更新或删除 Deployment 时)而终止 pod。在其他情况下,Kubernetes 需要释放给定节点上的资源时会终止 pod。无论哪种情况,Kubernetes 都允许在 pod 中运行的容器在可配置的时间内正常关闭。请查看下面的图表,以便更好地了解删除 pod 时发生的情况。以下是 Pod 关闭的 2 个场景。优雅关机在这种情况下,pod 中的容器会在宽限期内正常关闭。容器的原创 2022-07-13 09:12:45 · 1712 阅读 · 0 评论 -
docker、containerd、ctr、crictl 的联系 & 命令行大全
1、docker 由 docker-client ,dockerd,containerd,docker-shim,runc 组成,所以 containerd 是 docker 的基础组件之一2、从 k8s 的角度看,可以选择 containerd 或 docker 作为运行时组件:其中 containerd 调用链更短,组件更少,更稳定,占用节点资源更少。所以 k8s 后来的版本开始默认使用 containerd 。3、containerd 相比于 docker , 多了 namespace 概念,每个 i转载 2022-07-13 09:11:57 · 890 阅读 · 0 评论