k8s
文章平均质量分 77
#容器 #Docker #K8S
MyySophia
工作只是你的权利,而只有你的行为才能为你赢得尊重
展开
-
pod被驱逐追溯根因
收到pod报警,看到其状态是error,新的pod又在另外一台机器上起来了。原创 2024-09-13 07:45:00 · 1006 阅读 · 0 评论 -
Nginx、OpenResty、Kong 的基本概念和区别联系
最棒的是,Kong得到了强大的 Nginx 的支持。作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。原创 2024-06-02 22:12:08 · 1180 阅读 · 0 评论 -
GitOps实践之Argo CD凭什么脱颖而出?
ArgoCD 能在众多 CD 工具中脱颖而出,除了 GitOps 大背景的推动以外,其自身也具备非常多优秀的特性。实际上,通过了解众多优秀的开源项目,我们会发现一个共同点,那就是,最初开源这款产品背后的公司,它使用项目的规模很大程度上决定了项目的技术视野和发展。无论是 Kubernetes 还是 ArgoCD,我们会发现其背后的公司在产品开源之前就已经在团队内部进行了大规模的使用,产品实际上已经考虑到了在不同规模的团队下的痛点和诉求,所以,这些产品在开源的时候就已经相对完善了,产品体验和文档也比较完善。原创 2024-05-03 17:18:10 · 1091 阅读 · 0 评论 -
GitOps实践之Argo CD (2)
ArgoCD Image Updater 并不会直接修改仓库的 values.yaml 文件,而是会创建一个专门用于覆盖 Helm Chart values.yaml 的 .argocd-source-example.yaml 文件。开发和发布过程是分开的,应用定义仓库一般只有基础架构部门或者 SRE 部门具有修改权限,将源码和应用定义放在同一个 Git 仓库不利于权限控制,开发者也很容易误操作。argocd app create的时候就会使用这个来覆盖value.yaml中的数据。原创 2024-03-10 20:18:20 · 1186 阅读 · 2 评论 -
容灾多活解决方案
容灾系统是指在相隔较远的异地,建立两套或多套功能相同的系统,系统之间可以相互进行健康状态监视和功能切换,当一处系统因意外(如火灾、洪水、地震、人为蓄意破坏等)停止工作时,整个应用系统可以切换到另一处,使该系统可以继续正常工作。容灾系统需要具备较为完善的数据保护与灾难恢复功能,保证生产中心不能正常工作时数据的完整性及业务的连续性,并在最短时间内由灾备中心接替,恢复业务系统的正常运行,将损失降到最小。原创 2024-03-10 19:45:46 · 147 阅读 · 0 评论 -
GitOps实践之Argo CD
GitOps是Weaveworks公司于2017年首创的一种进行Kubernetes集群管理和应用交付的方式。GitOps通过使用Git作为声明性基础设施和应用程序的单一事实来源进行工作。GitOps的核心是将应用的声明性基础架构描述、应用源码与自动化流程存放在Git Repository中,将Git作为交付流水线的核心。原创 2024-02-25 22:39:34 · 894 阅读 · 3 评论 -
k8s ingress 无法找到端点
需要创建的是一个内部ingress : vnnox-consul-cn.vnnox.internal,这个域名在PrivateZone中解析. (和coreDNS 的作用类似,可以自定义一级域名,服务比自己维护更稳定。也就是ingressclass配置不正确。在vnnox-cn集群创建ingress,kubernetes.io/ingress.class 指定的是service-internal-lan.目前的vnnox-cn 集群版本是1.16.6. 无法直接查询ingress-class 的名字。原创 2023-12-01 15:26:07 · 808 阅读 · 0 评论 -
云原生微服务-理论篇
28定律先完成再完善。集中精力办大事。立场决定观点研发的角度优化、运维角度的优化?同步通信: 点对点异步通信: 发布订阅。原创 2023-11-19 19:35:34 · 1698 阅读 · 0 评论 -
velero 集群备份实战
服务端的安装使用的是celero客户段命令,这个velero命令是在宿主机,域名也是先走宿主机,宿主机当然不认识和这个集群内的域名了,所以这里应该使用。使用 minio 来作为对象存储,minio 是兼容 S3 的,所以这里我们配置的 provider(声明使用的 Velero 插件类型)是。s3Url=http://chot-minio.minio.svc.cluster.local:9000 minio使用这个地址,备份报错。首次安装的时候minio 的秘钥写错了,需要重新部署,卸载后重新部署。原创 2023-11-04 18:30:00 · 416 阅读 · 0 评论 -
Istio 实战
Istio是一个用于服务治理的开放平台。Istio是一个Service Mesh形态的用于服务治理的开放平台。Istio是一个与Kubernetes紧密结合的适用于云原生场景的Service Mesh形态的用于服务治理的开放平台。只要服务间有访问,如果需要对服务间的访问进行管理,就可以使用Istio。CNCF 社区2023 年6月毕业的一个项目。流行度稳定性什么是南北流量?东西流量?南北: ingress → svc → ep → po东西: svc → svc。原创 2023-10-30 21:19:13 · 500 阅读 · 0 评论 -
修改svc的LoadBalancer的IP引发的惨案
没事不要随便改LB svc的 externalIP ,是根据这个博主的文章修改的https://www.cnblogs.com/boshen-hzb/p/10679863.html。大家注意一下,不要把集群搞挂了。如果 EXTERNAL-IP 值是 (或一直是 ),则说明可能您的环境并没有为 Ingress 网关提供外部负载均衡器的功能。于是手动修改了这个lb svc的externalIP,于是k8s就崩了,如何崩的,且听我还道来。修改了svc的这个位置,于是api-server就崩了。原创 2023-10-27 23:59:54 · 1169 阅读 · 0 评论 -
理解 Linux backlog/somaxconn 内核参数
在研究IOTDB的时候,启动服务的时候会有个报警。iotdb后端服务器 Socket accept 队列满,系统的 somaxconn 内核参数默认太小。建议设置为65535下面我们我深入学习理解下 somaxconn 内核参数相关内容。原创 2023-10-08 15:00:54 · 408 阅读 · 0 评论 -
vim学习笔记(致敬vim作者)
【Normal】模式下如果需要往某行插入内容,一般是将光标移动到指定位置,然后【insert】模式插入。vim 删除某个字符之后改行的其他的字符?删除某个字符之后的其他字符?→ 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如。: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(是下一个,#是上一个) 对应的就是search模式的N和n。→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。【3】删除某个字符之后的其他字符?→ 到逗号前的第一个字符。原创 2023-08-06 21:51:52 · 2868 阅读 · 0 评论 -
Prometheus 基础知识脑图 && 图例
长图使用的是FastStone Capture。这是使用kube-prometheus部署的监控。2023年7月25日17:12:53。原创 2022-04-19 09:12:06 · 351 阅读 · 0 评论 -
GLP(Grafna +Loki +Promtail)日志可视化企业级实战
GLP全称: grafana loki promtail, 一个轻量级的云原生日志检索系统。对于数据,Loki 不会构建全文索引,而是通过 Label 的方式去构建索引,并通过 Grep 查询匹配对应的 COS。对于存储,Index 和 Chunks,是可以刷到廉价的第三方 COS 对象存储中。这样跟 ELK 一对比,成本的优化是巨大的。原创 2023-07-17 20:30:00 · 1875 阅读 · 2 评论 -
GreenPlum on K8s
GreenPlum on K8sGreenPlum on K8sGreenPlum on K8s原创 2023-07-13 09:21:16 · 691 阅读 · 0 评论 -
K8s生产环境常见问题处理、答疑(连载、不定期更新)
Ingress 的 address 是由 Kubernetes 集群中的 Ingress Controller 提供的。其实这个问题,我一开始被误导了,因为都是warning,我一直在找error,k8s的设计哲学中,认为pod pending只是waring而不是error,这正是声明式API的特征,如果是命令式的,那一定是fail,就会有error/fatal。集群初建时使用了一个较小的nfs svr作为k8s的后端存储,随着业务数量的增多, 新搭建了一个大的nfs server,共10TB。原创 2023-07-12 14:15:18 · 2234 阅读 · 0 评论 -
K8s为什么需要calico? calico 原理深入理解.
当arp请求目标网段的时候,网关收到ARP请求之后会用自己的MAC地址返回给请求者。k8中arp代理功能在calixxx 所在宿主机上开启.一般的三层数据报文:这里destmac不适用目标pod ip对应的mac而是使用网关的maclinux下这个参数控制器开启Calico 通过一个巧妙的方法将 workload 的所有流量引导到一个特殊的网关 169.254.1.1,从而引流到主机的 calixxx 网络设备上,最终将二三层流量全部转换成三层流量来转发。原创 2023-07-10 21:30:00 · 3843 阅读 · 3 评论 -
如何理解 Istio Ingress, 它与 API Gateway 有什么区别?东西流量?南北流量?
这三者都和流量治理密切相关,那么流量治理在过去和现在有什么区别呢?假如让你说出k8s中的服务暴露的方式?我面试也遇到过这个问题。mesh(Node 的灰色框) 中的的流量属于集群内部(东西向)流量属于东西流量。在学习istio的时候对流量管理加深了理解。客户端访问 Kubernetes 集群内服务的流量属于外部(南北向)流量。原创 2023-06-29 23:51:20 · 1101 阅读 · 0 评论 -
Restic文件备份工具
Restic 是一款 GO 语言开发的开源免费且快速、高效和安全的跨平台备份工具。Restic 使用加密技术来保证你的数据安全性和完整性,可以将本地数据加密后传输到指定的存储。Restic 同样支持增量备份,可随时备份和恢复备份。Restic 支持大多数主流操作系统,比如:Linux、macOS、Windows 以及一些较小众的操作系统 FreeBSD 和 OpenBSD 等。Restic优势Restic 每次备份都会生成一个快照,记录当前时间点的文件结构,可以找回特定时间点的文件。原创 2023-06-27 13:46:02 · 1744 阅读 · 0 评论 -
腾讯云私有云平台运维面试
根据会议将面试问题进行总结,很多问题感觉当时没回答好,这是为啥呢?应该还是不熟练吧,或者不善于表达。将次经历分享出来,大家多练练。原创 2023-06-25 23:51:34 · 2015 阅读 · 0 评论 -
为什么 kubernetes 环境要求开启 bridge-nf-call-iptables ?
启用 bridge-nf-call-iptables 这个内核参数 (置为 1),表示 bridge 设备在二层转发时也去调用 iptables 配置的三层规则 (包含 conntrack),所以开启这个参数就能够解决上述 Service 同节点通信问题,这也是为什么在 Kubernetes 环境中,大多都要求开启 bridge-nf-call-iptables 的原因。由于没有原路返回,客户端与服务端的通信就不在一个 “频道” 上,不认为处在同一个连接,也就无法正常通信。本文就来跟你详细掰扯下。原创 2023-06-16 17:35:28 · 1725 阅读 · 1 评论 -
go+vue自建运维管理平台
我猜作者之所以不想把新sql打入mysql镜像是因为不想每次版本更新 都在Dockerfile需要把新SQL文件copy进去,然后重新构建镜像。但是如果是容器平台则选择的余地很大,优秀的如kubersphere、kuboard、Rancher。如果不把sql 打到mysql镜像的话就需要手动到mysql容器执行sql脚本。kuboard 免费版只可以管理3个集群,而这个你自己可以改。鲁班的文档写的也不是很详细,入门会把很多人挡在外面。这个平台和spug很像,感觉就像是spug运维平台的容器版本。原创 2023-06-15 10:12:47 · 1909 阅读 · 1 评论 -
k8s中的PVC为何需要延迟绑定?(WaitForFirstConsumer)
WaitForFirstConsumer其实就是告诉volume控制器,虽然找到了适合的pv, 但。原创 2023-06-12 09:57:30 · 2490 阅读 · 1 评论 -
Istio中如何限流?
基于 QPS 的限流:可以使用 Istio 中的 Mixer 配置来设置基于 QPS 的限流。在 Istio 中,可以使用 Envoy 的内置限流机制来限制服务的流量。基于连接数的限流:可以使用 Envoy 的内置连接管理器来设置基于连接数的限流。上面的示例中,设置了一个名为 requestcountquota 的限流规则,它将每秒钟的请求数限制为100。总之,Istio 的限流机制可以帮助您更好地管理服务的流量,从而提高应用程序的可靠性和性能。上面的示例中,将最大连接数设置为 100。原创 2023-05-31 21:49:06 · 708 阅读 · 0 评论 -
linux中sh/bash 进程为何不接受kill SIGTERM
所以sh和bash进程不会立即响应SIGTERM信号是为了确保正常的,干净的终止,并给用户一个机会来控制终止操作。如果用户真的想立即终止sh/bash进程,可以发送SIGKILL信号。但这可能会导致数据丢失或其他问题,因此不推荐使用.原创 2023-05-23 23:04:32 · 321 阅读 · 0 评论 -
kubeadm安装集群的时候kube-proxy是如何安装的
在使用kubeadmin安装Kubernetes集群时,kube-proxy是通过kubeadmin配置文件中的kubeadmConfigPatches字段来安装的。例如,可以通过添加其他的KubeProxyConfiguration字段来配置kube-proxy的其他参数,或者通过添加其他的kubeadmConfigPatches字段来修改其他组件的配置。在admin安装集群时,可以通过修改kubeadmConfigPatches字段来自定义kube-proxy的配置。其实kube-proxy并不是.原创 2023-05-23 17:16:44 · 1405 阅读 · 0 评论 -
K8s日志组件-Loki是如何存储数据的?
当Loki接收到新的日志数据时,它会数据写入一个新的块中。如果切片已经达到了配置的大小限制,Loki会将切片写入磁盘,并创建一个新的切片。Loki的数据存储方式与传统的日志存储方式不同,它使用了一种称为“无索引”的方式来存储数据。由于Loki使用了无索引的方式来存储数据,因此它可以快速地写入和查询大量的日志数据。同时,由于Loki使用了标签索引的方式来查询和过滤数据,因此它可以快速地定位包含特定标签值的日志数据。标签索引是一种基于标签的元数据存储方式它允许Loki快速地定位包含特定标签值的日志数据。原创 2023-05-21 11:55:47 · 1735 阅读 · 1 评论 -
Linux LVM 最佳实践
目录一、概念二、PE LE PV VG LV概念PE(Physical Extent)LE(Logical Extent)PV (physical volume) 物理卷VG(volume group)vg的备份LV(logical volume)三 常用的指令四 LV创建的过程五 常见用法及实战常见的用法◇创建 PV◇创建 VG◇VG 扩容(添加新的 PV)◇创建 LV◇自动挂载 LV◇LV 扩容★不那么常见的用法◇VG 改名◇LV 改名◇VG 缩容(移除 PV)◇LV 缩容◇删除 LV实战 pv原创 2020-03-23 21:43:22 · 2848 阅读 · 1 评论 -
Gitlab on k8s最佳实践
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NlPzyq3P-1683179705925)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/19224c7f-f2c7-4569-ace6-28b0a579233b/Untitled.png)]gitlab-runner register时可以指定不同的exector. 可以打不同的tag,让不同的项目或编译条件使用不同的exector.原创 2023-05-04 13:59:27 · 861 阅读 · 0 评论 -
kubernetes为何需要默认的serviceaccount?
在 Kubernetes 中,ServiceAccount 是一种用于身份验证和授权的对象。它为 Pod 提供了一种身份,以便它们可以与 Kubernetes API 交互,并且可以通过 Role 和 RoleBinding 为它们分配特定的权限。–update 2023年4月28日11:08:44 如果是一个普通的业务pod就不需要访问kube-apiserver,也没有必要额外创建对应的sa. 没有创建都会使用该ns下默认的sa.原创 2023-04-26 14:46:19 · 872 阅读 · 0 评论 -
人为惨案之kube-controller-manager 不断重启根因溯源
kube-scheduler是负责调度的应该不是问题所在,应该是kube-controller-manager的问题,因为nfs-provisioner本质也是一个controller。我: 知道这个对象,这个类似于一把文件锁,kube-controller-manager、kube-schedule的高可用就是通过不断额更新当前master节点的lease 对象的renewtime来做到高可用的。当时发现kube-controller-manager 不停的进行election,不停的重启。原创 2023-04-23 17:34:52 · 2094 阅读 · 0 评论 -
一张能让你把网络数据包传输说20分钟的图
特别好的一张图,不要失传了。按理这图应该对应有很好的一篇文章或者博客,原创 2023-04-15 11:41:39 · 144 阅读 · 0 评论 -
不一样的视角深刻理解K8S 网络
通过我们的玩具代理,非k8s节点(因此不在K8S集群中)上的应用程序(无论是主机应用程序还是在VM/容器中运行的应用程序)也可以通过ClusterIP访问K8S服务-请注意,在Kubernetes的设计中,ClusterIP只能在K8S集群节点中访问。虽然基于iptables的代理击败了基于用户空间的代理,具有很大的性能增益,但当集群具有太多服务时,它仍然会遭受严重的性能下降[6,7]。iptables的一个很好的替代方案是IPVS -内核中的L4负载均衡器,它在底层(哈希实现)使用ipset,因此具有。翻译 2023-04-15 11:23:07 · 191 阅读 · 0 评论 -
LDAP概念和原理介绍
LDAP是开放的Internet标准,支持跨平台的Internet协议,在业界中得到广泛认可的,并且市场上或者开源社区上的大多产品都加入了对LDAP的支持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从“什么是LDAP”、“LDAP的主要产品”、“LDAP的基本模型”、“LDAP的使用案例”四个方面来做一个介绍。所以目录天生是用来查询的,就好象它的名字一样。转载 2023-04-09 22:21:39 · 3142 阅读 · 0 评论 -
Kubernetes的API流量查看器-Kubeshark
Kubeshark 由 2021 年 UP9 公司开源的 K8s API 流量查看器 Mizu 发展而来,试图成为一款 K8s 全过程流量监控工具。Kubeshark 被叫做 kubernetes 的 API 流量查看器,它提供对进出 Kubernetes 集群内容器和 pod 的所有 API 流量和负载的深度可见性和监控。类似于针对 Kubernetes 而重新发明的 TCPDump 和 Wireshark。原创 2023-04-07 09:21:07 · 729 阅读 · 0 评论 -
GitHub Action中的github/super-linter作用是什么?
是一个开源工具包,其中包含多个静态分析工具,用于对代码进行静态分析以查找潜在的错误、优化代码性能和提高代码可读性等。是一个版本号,表示这个版本使用了哪个静态分析工具。具体来说,TODO包中的静态分析工具使用了一些流行的开源工具,例如使用的是使用的是使用的是TODO使用的是使用的是。总之,包中的静态分析工具可以帮助开发人员识别代码中的潜在错误和优化代码性能,提高代码质量和可读性。原创 2023-04-06 17:11:22 · 443 阅读 · 0 评论 -
k8s业务迁移与服务部署实践
在整个过程中,我们所有的操作分为了三个层面,最底层的操作系统,中间层的运行环境,上层的应用服务。除了浏览官方的helm仓库安装应用外,自定义服务部署也可以使用helm方式实现,开发者只需要按照 Helm Chart 的格式,将应用所需的资源文件包装起来,通过模版化 (Templating) 的方式将一些可变字段(比如我们之前提到的暴露哪个端口、使用多少副本)暴露给用户,最后将封装好的应用包,就完成了Helm Chart的制作,最后集中存放在统一的仓库中供其他用户浏览下载。转载 2023-03-16 13:33:37 · 990 阅读 · 0 评论 -
git push -u参数是什么意思?
这代表是将本地已存在的git项目的所有分支推送到远程仓库名为origin的仓库。这是提交的时候就需要很明确的知道你需要把本地的哪个分支推送到远程仓库的哪个分支。git push -u origin main 只推送main分支到远程仓库。git push的时候,有时候会用-u参数,有时候不适用。当在gitlab上初始化一个项目的时候,通常会给你一些git提升。-u 参数相当于是让你本地的仓库和远程仓库进行了关联。下面这两个push操作你应该就知道是什么意思了吧。我有两个远程仓库,一个内网一个外网的。原创 2023-02-27 14:26:14 · 6563 阅读 · 0 评论 -
正则有哪些常见的流派及其特性?
在不了解Liunx 正则流派的前提下在linux环境学习正则非常痛苦。首先看自己的linux 版本支持的流派.使用man grep 即可查询的到........................................................... Matcher Selection -E, --extended-regexp Interpret PATTERN as an extended regular expression (原创 2020-07-31 16:22:00 · 557 阅读 · 0 评论