kubernets
文章平均质量分 77
道不贱卖,法不轻传
法不轻传,道不贱卖
展开
-
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 · 1007 阅读 · 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 · 1741 阅读 · 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 · 326 阅读 · 0 评论 -
kubenetes编排 deployment 清单模板
在此级别下,包含如下字段:apiVersion:指定使用的 Kubernetes API 的版本。kind:指定该资源的类型。metadata:指定该资源的元数据,例如 name、namespace 等。spec:指定该资源的具体配置信息。在此级别下,包含如下字段:annotations:指定 Deployment 的注释信息。这些注释信息可以提供一些额外的描述、标记或关联其他资源等。它们对于扩展 Kubernetes 功能、监控和自动化过程非常有用。原创 2024-08-05 15:28:14 · 662 阅读 · 0 评论 -
Istio 金丝雀发布
恢复成上述这样就可以实验通过helloword的svc将流量随机分配到v1和v2上。如果实验环境有问题,可以重新部署hello。部署gw,vs,dr验证测试结果(流量应该都交给v1进行响应)原创 2024-08-05 15:09:14 · 564 阅读 · 0 评论 -
kubenetes证书续签
编辑staging/src/k8s.io/client-go/util/cert/cert.go文件。编辑cmd/kubeadm/app/constants/constants.go。更新完成后按提示重启相应的组件或直接重启节点。修改ca证书有效期为100年。原创 2024-08-04 18:04:06 · 289 阅读 · 0 评论 -
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 · 431 阅读 · 0 评论 -
K8s 集群高可用master节点ETCD全部挂掉如何恢复?
前提是需要etcd备份文件,如果没有etcd备份,或者其他的备份手段,可能 GG 了这里默认需要使用etcdctl的地方已经安装了该工具。原创 2024-08-03 16:51:13 · 366 阅读 · 0 评论 -
KubeSphere 最佳实战:探索 K8s GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama
转载:KubeSphere 最佳实战:探索 K8s GPU 资源的管理,在 KubeSphere 上部署 AI 大模型 Ollama随着人工智能、机器学习、AI 大模型技术的迅猛发展,我们对计算资源的需求也在不断攀升。特别是对于需要处理大规模数据和复杂算法的 AI 大模型,GPU 资源的使用变得至关重要。对于云原生运维工程师而言,掌握如何在 Kubernetes 集群上管理和配置 GPU 资源,以及如何高效部署依赖 GPU 资源的应用,已成为一项不可或缺的技能。今天,我将带领大家深入了解如何在 KubeSp原创 2024-08-03 13:53:47 · 954 阅读 · 0 评论 -
KubeSphere 部署的 Kubernetes 集群使用 GlusterFS 存储实战入门
上一期实战课程,我们模拟真实的生产环境实战演示了如何使用 KubeKey 将新增 Worker 节点添加到已有的 Kubernetes 集群。最终我们部署完成了一套 3 Master 和 3 Worker 节点的 Kubernetes 集群。本期实战课程,我们将实战如何在上安装部署 GlusterFS、Hekeiti 以及 Kubernetes 使用模式对接 GlusterFS 做为集群的后端存储。原创 2024-08-02 22:06:07 · 1019 阅读 · 0 评论 -
KubeSphere 最佳实战:探索 Kubernetes 持久化存储之 NFS 终极实战指南
今天分享的内容是系列文档中的。在 Kubernetes 生态系统中,持久化存储扮演着至关重要的角色,它是支撑应用稳定运行的基石。对于那些选择自建 Kubernetes 集群的运维架构师而言,选择合适的后端持久化存储解决方案是一项至关重要的选型决策。后端持久化存储常见的解决方案有 Ceph、GlusterFS、NFS、hostPath,以及这两年新兴起的 Longhorn。当然,技术领域日新月异,还有其他优秀的解决方案我尚未了解。原创 2024-08-02 16:03:27 · 589 阅读 · 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 · 783 阅读 · 0 评论 -
KubeKey 升级 KubeSphere 和 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 · 982 阅读 · 0 评论 -
CentOS7.9 利用 KubeKey 扩容 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 · 639 阅读 · 0 评论 -
CentOS 7.9 安装 KubeSphere v3.4.0 和 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 · 619 阅读 · 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 · 193 阅读 · 0 评论 -
基于 KubeSphere 的 Kubernetes 生产环境部署架构设计及成本分析
导图今天分享一个实际小规模生产环境部署架构设计的案例,该架构设计概要说明如下:本架构设计适用于中小规模(原创 2024-08-01 13:26:35 · 1019 阅读 · 0 评论 -
kubeasz 制作k8s 集群离线安装包
本文介绍了,利用 ezdown 制作 kubeasz 离线部署 k8s 集群所需的离线安装包。使用 kubeasz 离线安装 k8s 集群需要下载四个部分:kubeasz 项目代码二进制文件(k8s、etcd、containerd 等组件)容器镜像文件(calico、coredns、metrics-server 等容器镜像)系统软件安装包(ipset、libseccomp2 等,仅无法使用本地 yum/apt 源时需要)原创 2024-08-01 13:17:29 · 487 阅读 · 0 评论 -
网络诊断利器:掌握 Kubernetes Pod 抓包技巧
ksniff 是一个 kubectl 的插件,它利用 tcpdump 和 Wireshark 对 Kubernetes 集群中的任何 Pod 启动远程抓包。原创 2024-07-31 11:41:26 · 752 阅读 · 0 评论 -
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 · 813 阅读 · 0 评论 -
掌握核心技艺: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 · 335 阅读 · 0 评论 -
云原生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 · 316 阅读 · 0 评论 -
Kubernetes故障排除手册
让我们逐步了解如何使用自定义调试容器进行高级调试任务。使用自定义调试容器创建临时 PoddP dP dP88 88 88运行诊断命令在调试容器中,我们可以运行各种命令。有状态应用程序在会话和重启之间维护状态信息,通常使用持久性存储。示例包括数据库、消息队列和其他需要数据持久性的应用程序。原创 2024-07-28 09:45:00 · 1010 阅读 · 0 评论 -
GPU 环境搭建指南:使用 GPU Operator 加速 Kubernetes GPU 环境搭建
上一篇文章 GPU 使用指南:如何在裸机、Docker、K8s 等环境中使用 GPU[1] 分享了裸机、Docker 环境以及 K8s 环境中如何使用 GPU。整个流程还算比较简单,但是因为需要在节点上安装 GPU Driver、Container Toolkit 等组件,当集群规模较大时还是比较麻烦的。为了解决这个问题,NVIDIA 推出了 GPU Operator[2],转载 2024-07-24 14:01:43 · 122 阅读 · 0 评论 -
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 · 249 阅读 · 0 评论 -
10分钟学会Golang,你真的可以!
在主函数中,创建一个Animal类型的变量,并将它赋值为一个Cat类型的实例。函数创建了一个int类型的channel,并在一个goroutine中将值1发送到该channel中。结构体是一种用户自定义的数据类型,它是由一组不同类型的值组成的。在Go中,可以通过声明一个结构体来定义一个自定义的数据类型。在Go中,接口是一种强大的工具,可以用来实现多态和依赖注入等设计模式。在Go中,切片是由数组建立的一种方便、灵活且强大的包装器。在Go中,函数是一等公民,可以作为参数传递和返回值返回。转载 2024-07-10 09:39:08 · 32 阅读 · 0 评论 -
Kubeadm部署K8s
对于CentOS,执行yum-config-manager --enable 时,“repo_name”是执行yum repolist all | grep kubernetes时回显的第二个字段“Kubernetes”,“K”为大写。执行了加入flannel命令并不代表就可以使用,我们可以通过kubectl get pods -n kube-system来获取当前系统上正在运行的pods,我们看到flannel处于正在运行的状态才算正常。不指定版本,不添加--kubernetes-version=转载 2024-07-09 19:11:32 · 26 阅读 · 0 评论 -
K8s 使用 Ceph RBD 作为后端存储(静态供给、动态供给)
允许用户创建虚拟块设备,并将其映射到客户端系统中,就像本地磁盘一样使用。存储集群中的一个重要组件,它提供了块级别的存储访问。需要绑定一个存储池,创建一个名为。静态供给方式需要提前创建好。命令,所以在开始前需要安装。,并初始化该存储池给。转载 2024-05-10 19:44:47 · 77 阅读 · 0 评论 -
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 · 476 阅读 · 0 评论 -
kubernetes 一键安装
【代码】kubernetes 一键安装。原创 2021-02-05 10:47:33 · 150 阅读 · 0 评论 -
NVIDIA插件k8s-device-plugin
Preparing your GPU NodesThe following steps need to be executed on all your GPU nodes. This README assumes that the NVIDIA drivers andnvidia-dockerhave been installed.Note that you need to install thenvidia-docker2package and not thenvidia-contain...翻译 2020-09-01 15:15:04 · 2241 阅读 · 0 评论 -
kubernetes中的StatefulSet
StatefulSet 的设计其实非常容易理解。所以,StatefulSet 的核心功能,就是通过某种方式记录这些状态,然后在 Pod 被重新创建时,能够为新 Pod 恢复这些状态。原创 2021-01-12 15:59:06 · 382 阅读 · 0 评论 -
Kubernetes 大规模集群最佳实践
Kubernetes 自 v1.6 以来,官方就宣称单集群最大支持 5000 个节点。不过这只是理论上,在具体实践中从 0 到 5000,还是有很长的路要走,需要见招拆招。官方标准如下:不超过 5000 个节点 不超过 150000 个 pod 不超过 300000 个容器 每个节点不超过 100 个 pod内核调优# max-file 表示系统级别的能够打开的文件句柄的数量, 一般如果遇到文件句柄达到上限时,会碰到# "Too many open files" 或者 Socket/原创 2020-07-03 15:20:45 · 239 阅读 · 0 评论 -
部署一套完整的Kubernetes高可用集群(下)
七、高可用架构(扩容多Master架构)Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性。针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库的高可用性和Kubernetes Master组件的高可用性。而Etcd我们已经采用3个节点组建集群实现高可用,本节将对Master节点高可用进行说明和实施。Ma原创 2020-06-12 18:27:29 · 195 阅读 · 0 评论 -
部署一套完整的Kubernetes高可用集群(上)
目录[-]一、前置知识点1.1 生产环境可部署Kubernetes集群的两种方式目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 二进制包 从github下载发行版的二进制包,手动原创 2020-06-15 13:49:30 · 493 阅读 · 0 评论 -
把显卡/GPU跑在k8s集群里
使k8s集群可以调度GPU背景:最近接到任务,要使k8s集群支持调度GPU,我对硬件资源不是很懂,大概看了看官方,简单梳理了一下思路,便开始了踩坑之路(本片文章是无坑文档,请放心使用/参考)前提条件:对于实验学习而言,在k8s集群中,至少保证1台node节点是有显卡的(我这里是NVIDIA)其他品牌显卡请出门右转自行Google集群环境说明:因为我这里是学习实验环境,所以只有ai-gpu-flask2.novalocal支持GPU,其余的节点都是虚拟机。最终验证也是在ai-gpu-fla原创 2020-05-27 19:05:12 · 377 阅读 · 0 评论 -
k8s制作pod的yaml文件
第1章 nginx配置文件yaml1.1 nginx _rc文件数据持久化(rc资源类型)cat nginx_rc.yamlapiVersion: v1kind: ReplicationControllermetadata: name: nginx4spec: replicas: 1 selector: app: nginx4 template: metadata: labels: app: nginx4 s原创 2020-05-25 11:35:56 · 607 阅读 · 0 评论 -
k8s+Prometheus+Grafana 的监控部署
一、安装部署 k8s 集群可以参考:https://www.cnblogs.com/liugp/p/12115945.html二、Prometheus+Grafana 的监控部署2.1、master/node 节点环境部署在【master】可以进行安装部署安装git,并下载相关 yaml 文件https://gitee.com/liugpwwwroot/k8s-promet...原创 2020-03-25 18:21:58 · 377 阅读 · 0 评论 -
Kubernetes 之 Nginx 动静态 PV 持久存储
一、nginx 使用 nfs 静态 PV1、静态 nfs-static-nginx-rc.yaml##清理资源kubectl delete -f nfs-static-nginx-rc.yaml -n testcat >nfs-static-nginx-rc.yaml<<\EOF##创建namespace---apiVersion: v1kind: Nam...原创 2019-12-03 14:57:50 · 227 阅读 · 0 评论 -
kubenetes容器编排
自愈:重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被终止,并且在容器准备好服务之前不会把其向客户端广播弹性伸缩服务的自动发现和负载均衡滚动升级和一键回滚Glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可支持数PB存储容量和数千客户端,通过网络互联成一个并行的网络文件系统。具有可扩展性、高性能、高可用性等特点。原创 2019-10-24 14:42:21 · 138 阅读 · 0 评论