kubernets
文章平均质量分 80
道不贱卖,法不轻传
法不轻传,道不贱卖
展开
-
(k8s)kubernetes集群基于Containerd部署
资源列表基础环境一、基础环境准备1.1、关闭Swap分区1.2、添加hosts解析1.3、桥接的IPv4流量传递给iptables的链二、准备Containerd容器运行时2.1、安装Containerd2.2、配置Containerd2.3、启动Containerd三、部署Kubernetes集群3.1、安装Kubeadm工具3.2、配置crictl工具3.3、配置Containerd镜像加速器3.4、测试crictl工具是否可用3.5、初始化Master节点。原创 2024-09-20 10:33:03 · 1245 阅读 · 0 评论 -
(k8s)kubernetes 部署Promehteus学习之路
这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。:客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。整个Prometheus生态包含多个组件,除了Prometheus server组件其余都是可选的。:主要的核心组件,用来收集和存储时间序列数据。原创 2024-09-18 18:31:10 · 790 阅读 · 0 评论 -
(k8s)Kubernetes部署Promehteus
在1.8版本以后heapster由metrics-server替代;从k8s的v1.11版本开始已经全面转向以Prometheus为核心的新监控体系架构;kube-prometheus 中包含了 prometheus 监控所用到的所有组件,当然也包含 prometheus-operator。原创 2024-09-18 18:27:02 · 1321 阅读 · 0 评论 -
(k8s)Kubernetes本地存储接入
Tip:local模式存储,创建好pv和pvc并不会马上绑定。因为local模式的存储类。hostpath也是本地存储,为什么要使用local模式的存储呢?Tip:local模式存储节点异常后,意味着pod启动不起来。,所以只有当pod使用pvc时,pv和pvc才进行绑定的。因为创建deployment时,无需指定调度具体节点。Tip:local模式存储不能限制存储大小。1、创建local模式存储类。5、查看运行pod运行节点。6、验证pod是否挂载成功。4、创建业务容器并挂载。原创 2024-09-15 14:17:12 · 623 阅读 · 0 评论 -
(k8s)Kubernetes 从0到1容器编排之旅
通过在 Kubernetes 中使用流量路由规则,可以将一部分流量引导到 A 版本的应用,另一部分流量引导到 B 版本的应用,然后通过监控和分析用户行为来确定哪个版本的应用更优。可以根据应用的特点和需求,将具有特定需求的 Pod 部署在合适的节点上,提高系统的可靠性和性能。• 对于金丝雀发布,使用 HPA 或手动调整 Pod 的数量,逐步将一小部分流量引入到新版本的应用中,观察其性能和稳定性。通过同时维护两个版本的应用,或者逐步将流量引入到新版本的应用中,可以在不影响用户的情况下进行应用的升级和测试。原创 2024-09-15 14:09:59 · 1696 阅读 · 0 评论 -
Kubernetes+Minio+Velero:终极备份解决方案
对于 Kubernetes 集群的备份,其实定期备份etcd数据库就可以了,但etcd的备份通常是针对整个集群进行备份与恢复,如果只是想恢复某个特定名称空间中的资源时,etcd的备份与恢复就难以实现,因此就有了velero。Velero 可以对 Kubernetes 集群整体进行备份,还能对集群内不同的Namespace资源进行分别备份和恢复。Velero 是一个开源的Kubernetes集群备份与恢复工具,由 Go 语言编写,这个项目目前已经被 VMware 收购,但仍然保持开源。原创 2024-09-14 12:58:00 · 1327 阅读 · 0 评论 -
k8s(kubernetes)的PV / PVC / StorageClass(理论+实践)
本文主要讲解了PV、PVC、StorageClass的理论和实战。一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。先规划→后申请→再使用。原创 2024-09-14 10:02:28 · 1507 阅读 · 0 评论 -
ETCD的备份和恢复
由于ETCD的重要性,确保其数据的安全性和可靠性至关重要。通过采用适当的备份策略和恢复流程,可以有效地减少数据丢失的风险,提高系统的可靠性和可用性。这种备份方式更适用于增量备份,因为WAL文件记录了所有的写操作,可以通过重放这些操作来恢复到某个特定的状态。这种方式的优点是可以快速地创建出整个数据集的完整副本,缺点是快照文件较大,且在快照生成期间ETCD可能无法处理写操作。ETCD提供了多种备份方式,其中最常用的两种是快照备份和日志备份。清空原有的ETCD数据目录,确保不会与恢复的数据产生冲突。原创 2024-09-10 09:55:43 · 702 阅读 · 0 评论 -
在欧拉系统上用Kubeadm方式部署(k8s)kubernetes多master高可用集群
1.1 Kubernetes高可用集群部署1.1.1 集群架构1. 高可用拓扑可以设置 HA 集群:使用堆叠(stacked)控制平面节点,其中 etcd 节点与控制平面节点共存;使用外部 etcd 节点,其中 etcd 在与控制平面不同的节点上运行;在设置 HA 集群之前,应该仔细考虑每种拓扑的优缺点。2. 堆叠(Stacked) etcd 拓扑主要特点:etcd 分布式数据存储集群堆叠在 kubeadm 管理的控制平面节点上,作为控制平面的一个组件运行。原创 2024-09-08 21:23:57 · 2101 阅读 · 0 评论 -
kubeadm 初始化 k8s 证书过期解决方案
在使用 kubeadm 初始化的 Kubernetes 集群中,默认情况下证书的有效期为一年。当证书过期时,集群中的某些组件可能会停止工作,导致集群不可用。本文将详细介绍如何解决 kubeadm 初始化的 Kubernetes 集群证书过期的问题,并提供一种实用的方法来延长证书的有效期。原创 2024-09-08 09:26:01 · 589 阅读 · 0 评论 -
在OpenEuler(欧拉)系统上用kubeadm部署(k8s)Kubernetes集群
一、OpenEuler(欧拉) 系统简介openEuler 是开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目;openEuler作为一个操作系统发行版平台,每两年推出一个LTS版本。该版本为企业级用户提供一个安全稳定可靠的操作系统。具体的介绍可以参考官网https://www.openeuler.org/zh/二、Kubernetes 1.24版本发布及改动。原创 2024-09-07 21:23:37 · 1833 阅读 · 0 评论 -
(k8s)Kubernetes 中必备的 10 个告警处置方法
本文翻译自:https://sematext.com/blog/top-10-must-have-alerts-for-kubernetes/运行 Kubernetes 集群,显然不止是启动,还需要持续监控,以确保 Kubernetes 中的服务能正常运行。不过,您不想整天盯着一堆 Kubernetes 仪表板(即便仪表板再多么美观)。您希望使用适当的警报来设置 Kubernetes 警报,对吗?借助 k8s 警报,您将快速发现 Kubernetes 集群中的问题,并希望也能快速修复它们。原创 2024-08-28 13:47:30 · 796 阅读 · 0 评论 -
(k8s)Kubernetes上部署MinIO Operator 对接MinIO
随之产品逐步完善,增加了这两个对象,而官方并完善底层PV创建的资料,从而导致pod/minio-tenant-1-log-0、minio-tenant-1-log-search-api-xxxxx、minio-tenant-1-prometheus-0这部分对象异常,下面就对问题进行临时处理,非最佳方案。当前未使用Helm Chart、krew等部署MinIO,直接使用kubectl进行部署,官方使用kubectl部署目前不是很完善,官方默认创建审计日志和监控时会失败,文中已将其完善。原创 2024-08-07 10:15:00 · 1202 阅读 · 0 评论 -
集群dns切换后,Pod解析用的dns依然不对问题分析
尝试修改所有宿主机的/etc/resolv.conf 文件,都已指向新DNS,并且手工验证解析正常,但pod还是无法正确解析,进入pod里检查解析可以正常去找coredns的服务ip,但检查coredns时发现解析找的还是老的dns服务器的ip。最近,遇到了一个域名解析的问题,明明网络已经更换了DNS服务器,并且旧的DNS服务器已经关闭。要想添加自定义的上游DNS可以通过修改coredns的configmap配置来实现。.集群dns切换后,Pod解析用的dns依然不对问题分析。原创 2024-08-07 10:00:00 · 1798 阅读 · 0 评论 -
Windows 系统学习之路
https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzUxNjMwMzk4MQ==&scene=1&album_id=3528459070271471627&count=3#wechat_redirecthttps://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzUxNjMwMzk4MQ==&scene=1&album_id=3440505368646860802&c原创 2024-08-05 16:24:35 · 354 阅读 · 0 评论 -
(k8s)kubernetes编排 deployment 清单模板
在此级别下,包含如下字段:apiVersion:指定使用的 Kubernetes API 的版本。kind:指定该资源的类型。metadata:指定该资源的元数据,例如 name、namespace 等。spec:指定该资源的具体配置信息。在此级别下,包含如下字段:annotations:指定 Deployment 的注释信息。这些注释信息可以提供一些额外的描述、标记或关联其他资源等。它们对于扩展 Kubernetes 功能、监控和自动化过程非常有用。原创 2024-08-05 15:28:14 · 688 阅读 · 0 评论 -
Istio 金丝雀发布
恢复成上述这样就可以实验通过helloword的svc将流量随机分配到v1和v2上。如果实验环境有问题,可以重新部署hello。部署gw,vs,dr验证测试结果(流量应该都交给v1进行响应)原创 2024-08-05 15:09:14 · 579 阅读 · 0 评论 -
(k8s)Kubernetes中容器组的管理与调度核心: Pod资源解析编排
Pod的资源清单apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,资源类型,例如 Podmetadata: #必选,元数据name: string #必选,Pod名称namespace: string #Pod所属的命名空间,默认为"default"labels: #自定义标签列表spec: #必选,Pod中容器的详细定义containers: #必选,Pod中容器列表- name: string #必选,容器名称。原创 2024-08-04 17:58:37 · 454 阅读 · 0 评论 -
(k8s)kubernetes集群高可用master节点ETCD全部挂掉如何恢复?
前提是需要etcd备份文件,如果没有etcd备份,或者其他的备份手段,可能 GG 了这里默认需要使用etcdctl的地方已经安装了该工具。原创 2024-08-03 16:51:13 · 397 阅读 · 0 评论 -
KubeSphere 最佳实战:探索 (k8s)kubernetes GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama
转载:KubeSphere 最佳实战:探索 K8s GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama随着人工智能、机器学习、AI 大模型技术的迅猛发展,我们对计算资源的需求也在不断攀升。特别是对于需要处理大规模数据和复杂算法的 AI 大模型,GPU 资源的使用变得至关重要。对于云原生运维工程师而言,掌握如何在 Kubernetes 集群上管理和配置 GPU 资源,以及如何高效部署依赖 GPU 资源的应用,已成为一项不可或缺的技能。今天,我将带领大家深入了解如何在 KubeSp原创 2024-08-03 13:53:47 · 1064 阅读 · 0 评论 -
KubeSphere 部署的 (k8s)Kubernetes 集群使用 GlusterFS 存储实战入门
上一期实战课程,我们模拟真实的生产环境实战演示了如何使用 KubeKey 将新增 Worker 节点添加到已有的 Kubernetes 集群。最终我们部署完成了一套 3 Master 和 3 Worker 节点的 Kubernetes 集群。本期实战课程,我们将实战如何在上安装部署 GlusterFS、Hekeiti 以及 Kubernetes 使用模式对接 GlusterFS 做为集群的后端存储。原创 2024-08-02 22:06:07 · 1147 阅读 · 0 评论 -
KubeSphere 最佳实战:探索 (k8s)Kubernetes 持久化存储之 NFS 终极实战指南
Kubernetes与外部存储的对接,不仅扩展了容器化应用的存储能力,也提供了更加灵活和高效的数据管理方式。随着云原生技术的不断进步,我们期待更多的存储解决方案能够与Kubernetes无缝集成,共同推动云原生生态的发展。释放存储潜力,让数据成为推动业务创新的强大动力。原创 2024-08-02 16:03:27 · 672 阅读 · 0 评论 -
学习 Helm ,一文弄懂
可以在/templates/*.yaml 文件中定义命名模板也可以在/templates/_helpers.tpl 定义目录说明charts可选目录,可能包含子chartChart.yaml包含chart描述的主文件templatesKubernetes 资源定义为模板的目录定义 chart 模板中的自定义配置的默认值,可以在执行 helm install 或 helm update 的时候覆盖定义打包时要忽略的模式的地方(概念上与 .gitignore 类似)helm lint。原创 2024-08-02 15:39:24 · 948 阅读 · 0 评论 -
KubeKey 升级 KubeSphere 和 (k8s)Kubernetes 补丁版本实战指南
KubeSphere v3.4.1 已于 2023 年 11 月 10 日正式发布,升级说明详见 Releases-v3.4.1 发布说明。该发布版修复了 v3.4.0 中存在的许多问题,建议所有人更新。KubeSphere 官方的升级文档 操作比较简单。但是,实际升级过程还是遇到 2 个小问题。正好借此机会,写一篇完整版的 KubeSphere 和 Kubernetes补丁版本升级完全实战指南。为什么强调补丁版本?这里就要简单点介绍一下 Kubernetes 版本命名规则及升级策略。原创 2024-08-02 13:24:00 · 1039 阅读 · 0 评论 -
CentOS7.9 利用 KubeKey 扩容 (k8s)Kubernetes v1.26 Worker 节点实战
上一期,我们实战讲解了使用自动化部署 3 Master 和 1 Worker 的 Kubernetes 集群和 KubeSphere。本期我们将模拟真实的生产环境演示如何使用 KubeKey 将新增的 Worker 节点加入到已有的 Kubernetes 集群。本文主要实战演示了在利用 KubeKey v3.0.10 自动化增加 Worker 节点到已有 Kubernetes 集群的详细过程。全文总结概括包含以下内容 :新增节点的操作系统基础配置。原创 2024-08-01 17:24:51 · 664 阅读 · 0 评论 -
CentOS 7.9 安装 KubeSphere v3.4.0 和 (k8s)Kubernetes v1.26 实战
本文基于操作系统 CentOS 7.9 ,使用 KubeSphere 开发的工具,模拟真实的小规模生产环境在 6 台服务器上采用高可用模式部署集群和。本文主要部署演示了在 Linux 服务器操作系统 CentOS 7.9 上,利用 KubeKey v3.0.10 自动化部署最小化 KubeSphere v3.4.0 和 Kubernetes v1.26.5 高可用集群的详细过程。概括总结全文主要涉及以下内容操作系统基础配置操作系统数据盘 LVM 配置、磁盘挂载、数据目录创建操作系统内核升级。原创 2024-08-01 17:05:27 · 721 阅读 · 0 评论 -
KubeSphere 学习之路
云原生KubeSphere最佳实践:https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4MzcyOTQ2NQ==&action=getalbum&album_id=3022627663062056961&scene=173&subscene=&sessionid=svr_2156d508166&enterid=1722492662&from_msgid=2247484226&from_itemidx=1&count=3&nolastread=1#wechat_原创 2024-08-01 14:58:54 · 210 阅读 · 0 评论 -
基于 KubeSphere 的 (k8s)Kubernetes 生产环境部署架构设计及成本分析
导图今天分享一个实际小规模生产环境部署架构设计的案例,该架构设计概要说明如下:本架构设计适用于中小规模(原创 2024-08-01 13:26:35 · 1058 阅读 · 0 评论 -
kubeasz 制作(k8s)kubernetes集群离线安装包
本文介绍了,利用 ezdown 制作 kubeasz 离线部署 k8s 集群所需的离线安装包。使用 kubeasz 离线安装 k8s 集群需要下载四个部分:kubeasz 项目代码二进制文件(k8s、etcd、containerd 等组件)容器镜像文件(calico、coredns、metrics-server 等容器镜像)系统软件安装包(ipset、libseccomp2 等,仅无法使用本地 yum/apt 源时需要)原创 2024-08-01 13:17:29 · 534 阅读 · 0 评论 -
网络诊断利器:掌握 (k8s)Kubernetes Pod 抓包技巧
ksniff 是一个 kubectl 的插件,它利用 tcpdump 和 Wireshark 对 Kubernetes 集群中的任何 Pod 启动远程抓包。原创 2024-07-31 11:41:26 · 836 阅读 · 0 评论 -
(k8s)Kubernetes网络CNI插件:Flannel与Calico详解
网络职责划分Kubernetes 本身不负责网络通信:Kubernetes 提供了容器网络接口 CNI(Container Network Interface),具体的网络通信交给 CNI 插件来负责。CNI 插件:开源的 CNI 插件有很多种,如 Flannel、Calico 等。不同的插件实现不同的网络功能和特性。VPC 网络支持:CCE(云容器引擎)专门为 Kubernetes 定制了 CNI 插件(如 Canal 和 Yangste),使得 Kubernetes 可以使用 VPC 网络。原创 2024-07-31 11:33:33 · 857 阅读 · 0 评论 -
掌握核心技艺:(k8s)Kubernetes安装前,宿主机配置参数
文档,https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/在内核4.19+版本nf_conntrack_ipv4已经改为nf_conntrack。解决了用户在安装kubernetes时,配置内核参数及时间、limit的问题。CentOS7 需要升级内核至4.18+,本地升级的版本为4.19,在内核4.18以下使用nf_conntrack_ipv4。至此配置内核参数及时间、limit结束。原创 2024-07-30 15:09:14 · 358 阅读 · 0 评论 -
云原生(k8s)kubernetes学习之路
kubernetes学习之路:https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=Mzg5MzAxMTk0NQ==&scene=1&album_id=3411427371981766657&count=3#wechat_redirect原创 2024-07-28 09:30:00 · 331 阅读 · 0 评论 -
(k8s)Kubernetes故障排除手册
让我们逐步了解如何使用自定义调试容器进行高级调试任务。使用自定义调试容器创建临时 PoddP dP dP88 88 88运行诊断命令在调试容器中,我们可以运行各种命令。有状态应用程序在会话和重启之间维护状态信息,通常使用持久性存储。示例包括数据库、消息队列和其他需要数据持久性的应用程序。原创 2024-07-28 09:45:00 · 1040 阅读 · 0 评论 -
GPU 环境搭建指南:使用 GPU Operator 加速 (k8s)Kubernetes GPU 环境搭建
上一篇文章 GPU 使用指南:如何在裸机、Docker、K8s 等环境中使用 GPU[1] 分享了裸机、Docker 环境以及 K8s 环境中如何使用 GPU。整个流程还算比较简单,但是因为需要在节点上安装 GPU Driver、Container Toolkit 等组件,当集群规模较大时还是比较麻烦的。为了解决这个问题,NVIDIA 推出了 GPU Operator[2],转载 2024-07-24 14:01:43 · 218 阅读 · 0 评论 -
(k8s)Kubernetes v1.30:只读卷挂载可以实现只读了
Kubernetes SIG Node 希望并期望该特性将在 Kubernetes 的未来版本中升级为 Beta 版本并最终稳定可用(GA),以便用户不再需要手动启用此特性门控。Kubernetes:v1.30 或更新版本,并启用 RecursiveReadOnlyMounts 特性门控。Kubernetes 1.30 添加了一个新的挂载选项 recursiveReadOnly,以使子挂载递归只读。要获得正确的递归只读挂载,你必须设置这两个字段。runc:v1.1 或更新版本。下的任何子挂载仍然是可写的!原创 2024-07-20 18:21:40 · 282 阅读 · 0 评论 -
10分钟学会Golang,你真的可以!
在主函数中,创建一个Animal类型的变量,并将它赋值为一个Cat类型的实例。函数创建了一个int类型的channel,并在一个goroutine中将值1发送到该channel中。结构体是一种用户自定义的数据类型,它是由一组不同类型的值组成的。在Go中,可以通过声明一个结构体来定义一个自定义的数据类型。在Go中,接口是一种强大的工具,可以用来实现多态和依赖注入等设计模式。在Go中,切片是由数组建立的一种方便、灵活且强大的包装器。在Go中,函数是一等公民,可以作为参数传递和返回值返回。转载 2024-07-10 09:39:08 · 56 阅读 · 0 评论 -
(k8s)kubernetes 使用 Ceph RBD 作为后端存储(静态供给、动态供给)
允许用户创建虚拟块设备,并将其映射到客户端系统中,就像本地磁盘一样使用。存储集群中的一个重要组件,它提供了块级别的存储访问。需要绑定一个存储池,创建一个名为。静态供给方式需要提前创建好。命令,所以在开始前需要安装。,并初始化该存储池给。转载 2024-05-10 19:44:47 · 115 阅读 · 0 评论 -
(k8s)kubernetes中kubeadm生成的token重新获取
当你的token忘了或者过期,解决办法如下:1.先获取token#如果过期可先执行此命令kubeadm token create #重新生成token#列出tokenkubeadm token list | awk -F" " '{print $1}' |tail -n 12.获取CA公钥的哈希值openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>原创 2020-05-23 18:48:58 · 501 阅读 · 0 评论 -
(k8s)kubernetes中NVIDIA插件k8s-device-plugin
【代码】(k8s)kubernetes中NVIDIA插件k8s-device-plugin。翻译 2020-09-01 15:15:04 · 2299 阅读 · 0 评论