![](https://img-blog.csdnimg.cn/20210403223626376.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kubernetes项目实战
文章平均质量分 93
此专栏模拟生产环境,Kubernetes构建项目的过程
架构从简到复杂的过程
南宫乘风
当你的才华撑不起你的野心时,只有静下心学习才是唯一的出路
展开
-
Ingress配置优化和追踪
在传统的业务系统中,应用微服务化后,需要一个统一的入口来将各个服务进行整合,这个入口可以是Nginx、Apache、HAproxy等等。而在K8s中,同样需要一个工具来将应用的各个service整合到统一的入口,这个工具就叫Ingress控制器,Ingress的中文翻译即为“入口”。它是由Kubernetes社区基于Nginx Web服务器开发的,并补充了一组用于实现额外功能的Lua插件,作为“官方”默认控制器支持当然最优。Github说明文档。原创 2024-04-11 18:30:08 · 778 阅读 · 0 评论 -
Nginx在Kubernetes集群中的进阶应用
在现代DevOps环境中,Nginx作为负载均衡器与Kubernetes的Ingress资源的结合,为应用程序提供了强大的路由和安全解决方案。本文将深入探讨如何利用Nginx的灵活性和功能,实现高效、安全的外部访问控制,以及如何配置Ingress以优化流量管理和SSL/TLS支持。Nginx 可以与 Kubernetes 的 Ingress 资源配合使用,以提供高级的路由和负载均衡功能。Ingress 允许你通过定义规则来管理外部访问集群内服务的路径。原创 2024-04-02 16:13:11 · 820 阅读 · 0 评论 -
Kube-Prometheus 监控Ingress实战
在 Kubernetes 集群中,我们通常使用 “Nginx Ingress” 实现集群南北向流量的代理转发,Nginx Ingress 基于集群内 Ingress 资源配置生成具体的路由规则。Ingress 资源负责对外公开服务的管理,一般这类服务通过 HTTP 协议进行访问。通过 Nginx Ingress + Ingress 资源可以实现以下场景:一、通过 Nginx Ingress 将来自客户端的全部流量转发给单一 Service。。原创 2024-01-19 10:19:00 · 1173 阅读 · 0 评论 -
Kube-Prometheus 手动部署
prometheus-operator 介绍当今 Cloud Native 概念流行,对于容器、服务、节点以及集群的监控变得越来越重要。Prometheus 作为 Kubernetes 监控的事实标准,有着强大的功能和良好的生态。但是它不支持分布式,不支持数据导入、导出,不支持通过 API 修改监控目标和报警规则,所以在使用它时,通常需要写脚本和代码来简化操作。原创 2024-01-18 09:12:41 · 1257 阅读 · 0 评论 -
Istio安装和基础原理
Istio 是一个开源服务网格,它透明地分层到现有的分布式应用程序上。Istio 强大的特性提供了一种统一和更有效的方式来保护、连接和监视服务。Istio 是实现负载平衡、服务到服务身份验证和监视的路径——只需要很少或不需要更改服务代码。使用 TLS 加密、强身份认证和授权的集群内服务到服务的安全通信自动负载均衡的 HTTP, gRPC, WebSocket,和 TCP 流量通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。原创 2024-01-12 17:19:48 · 1243 阅读 · 0 评论 -
MetalLB:本地Kubernetes集群的LoadBalancer负载均衡利器
大多数的官方教程为了简化部署的步骤,都是写着直接用kubectl命令部署一个yaml的url,这样子的好处是部署简单快捷,但是坏处就是本地自己没有存档,不方便修改等操作,因此我个人更倾向于把yaml文件下载到本地保存再进行部署。但如果是计划外的事故导致的,此时在有故障的客户端刷新其缓存条目之前,将无法访问服务IP。由于Layer 2 模式会使用单个选举出来的Leader来接收服务IP的所有流量,这就意味着服务的入口带宽被限制为单个节点的带宽,单节点的流量处理能力将成为整个集群的接收外部流量的瓶颈。原创 2023-12-28 09:32:55 · 1877 阅读 · 0 评论 -
使用kubeadm部署一套Kubernetes v1.23.0集群
本文介绍了使用kubeadm部署一套Kubernetes v1.23.0集群的步骤,包括环境准备、操作系统初始化配置、安装Docker和kubeadm等。然后详细说明了在Master节点上部署Kubernetes Master的过程。原创 2023-12-11 10:30:51 · 1954 阅读 · 0 评论 -
Kubernetes安装ingress-nginx
网上的资料一般是基于v0.30.0来安装,但是对于kubernetes@1.22来说要安装ingress-nginx@v1.0.0以上版本(目前最新版本是v1.0.4,本文采用v1.0.0),原因是 kubectl@v1.22版本不再支持v1beta1如果安装ingress-nginx@v0.30.0版本后启动pod有如下问题有一个版本的支持情况(ingress官方网站ingress仓库地址ingress-nginx v1.0 最新版本 v1.0。原创 2023-12-04 09:42:25 · 1406 阅读 · 0 评论 -
掌握Kubernetes API:释放容器编排的潜力
API(Application Programming Interface,应用程序接口): 是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。K8s也提供API接口,提供这个接口的是管理节点的apiserver组件,apiserver服务负责提供HTTP API,以便用户、其他组件相互通信。HTTP Token认证:通过一个Token来识别用户。HTTPS 证书认证:基于CA证书签名的数字证书认证。HTTP Base认证:用户名+密码的方式认证。原创 2023-08-31 18:41:32 · 171 阅读 · 0 评论 -
当节点内存管理遇上 Kubernetes:自动调度与控制
然后,您将在这些 Pods 的 YAML 文件中添加容忍度字段,以允许它们在具有更充足内存资源的其他节点上运行。最后,您将设置 SchedulingDisabled 标志,以确保后续的 Pods 不会被调度到这个节点上,直到您解决了该节点的内存问题。在现代的容器化环境中,节点资源的管理是一个重要的任务。通过这样的原理,我们可以在集群中实现对节点内存的动态管理,确保节点资源的合理利用和容器应用的稳定运行。:通过定期执行脚本,可以实时监测节点的内存占用情况,及时做出调整,提高了容器应用的性能和可用性。原创 2023-05-31 14:13:57 · 1602 阅读 · 0 评论 -
Calico的BGP打通Kubernetes网络和局域网
Calico 是一个开源的容器网络解决方案,可以通过使用 BGP 协议来管理容器网络。与传统的基于 VXLAN 的解决方案相比,使用 Calico 可以避免网络数据包的封装和解封过程,提高了网络传输的效率和吞吐量。在 Kubernetes 集群中,Calico 可以用来打通 Pod 和局域网的网络,从而实现跨主机通信。原创 2023-05-11 21:39:12 · 1688 阅读 · 0 评论 -
K8S部署Apollo配置中心
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。原创 2022-12-29 10:03:56 · 2120 阅读 · 0 评论 -
Kubernetes高效收集生产日志
容器本身特性: 采集目标多:容器本身的特性导致采集目标多,需要采集容器内日志、容器 stdout。对于容器内部的文件日志采集,现在并没有一个很好的工具能够去动态发现采集。针对每种数据源都有对应的采集软件,但缺乏一站式的工具。 弹性伸缩难:kubernetes 是分布式的集群,服务、环境的弹性伸缩对于日志采集带来了很大的困难,无法像传统虚拟机环境下那样,事先配置好日志的采集路径等信息,采集的动态性以及数据完整性是非常大的挑战。 现有日志工具的一些缺陷: 缺乏动态配置的能力。目前的采集工具都需要事原创 2022-03-12 19:40:43 · 4483 阅读 · 1 评论 -
Kubernetes安装EFK日志收集
Kubernetes 中比较流行的日志收集解决方案是Elasticsearch、Fluentd和Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案。后续我会更新使用Log-Pilot + ES + Kibana 日志方案Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。Elasticsearch 通常与Kibana一起部署,Kibana 是 Elasticsearch...原创 2022-03-11 11:26:38 · 1082 阅读 · 0 评论 -
Kubernetes实战模拟七(wordpress的数据持久化)
Kubernetes实战模拟一(wordpress基础版)Kubernetes实战模拟二(wordpress高可用)Kubernetes实战模拟三(wordpress健康检查和服务质量QoS)Kubernetes实战模拟四(wordpress升级更新)Kubernetes实战模拟五(wordpress的HPA自动扩缩容)Kubernetes实战模拟六(wordpress的账号信息加密)源码地址:https://github.com/nangongchengfeng/Kubern.原创 2021-04-08 00:01:28 · 517 阅读 · 0 评论 -
Kubernetes实战模拟六(wordpress的账号信息加密)
Kubernetes实战模拟一(wordpress基础版)Kubernetes实战模拟二(wordpress高可用)Kubernetes实战模拟三(wordpress健康检查和服务质量QoS)Kubernetes实战模拟四(wordpress升级更新)Kubernetes实战模拟五(wordpress的HPA自动扩缩容)源码地址:https://github.com/nangongchengfeng/Kubernetes/tree/main/wordpress-exampleKube原创 2021-04-07 16:57:04 · 329 阅读 · 0 评论 -
Kubernetes实战模拟五(wordpress的HPA自动扩缩容)
Kubernetes实战模拟一(wordpress基础版)Kubernetes实战模拟二(wordpress高可用)Kubernetes实战模拟三(wordpress健康检查和服务质量QoS)Kubernetes实战模拟四(wordpress升级更新)源码地址:https://github.com/nangongchengfeng/Kubernetes/tree/main/wordpress-exampleKubernetes实战模拟四,已经构建wordpress的更新升级策略,确保后期原创 2021-04-07 11:17:25 · 492 阅读 · 0 评论 -
Kubernetes实战模拟四(wordpress升级更新)
Kubernetes实战模拟一(wordpress基础版)Kubernetes实战模拟二(wordpress高可用)Kubernetes实战模拟三(wordpress健康检查和服务质量QoS)源码地址:https://github.com/nangongchengfeng/Kubernetes/tree/main/wordpress-exampleKubernetes实战模拟三,已经构建wordpress的健康检查和服务质量,对后期的稳定运行有一定的帮助(1)startupProb.原创 2021-04-06 21:35:06 · 445 阅读 · 1 评论 -
Kubernetes实战模拟三(wordpress健康检查和服务质量QoS)
Kubernetes实战模拟一(wordpress基础版)Kubernetes实战模拟二(wordpress高可用)源码地址:https://github.com/nangongchengfeng/Kubernetes/tree/main/wordpress-exampleKubernetes实战模拟二,已经优化架构,已经采取分离,可以实现高可用,并优化软策略,防止单点故障接下来,慢慢实现健康检查和服务质量版本3思路:分别对2个pod的进行端口检查,判断pod是否正常和流量提供,测试原创 2021-04-05 01:05:46 · 1496 阅读 · 7 评论 -
Kubernetes实战模拟二(wordpress高可用)
Kubernetes实战模拟一(wordpress基础版)源码地址:https://github.com/nangongchengfeng/Kubernetes/tree/main/wordpress-example上一篇文件我们使用pod的构建两个容器,但是问题也是一大堆,根本不适合生产方面。所以我们慢慢解决上面的问题,优化架构。版本2思路:将 Pod 中的两个容器进行拆分,将 Wordpress 和 MySQL 分别部署Wordpress 用多个副本进行部署就可以实现应用的高可用原创 2021-04-03 23:50:52 · 640 阅读 · 1 评论 -
Kubernetes实战模拟一(wordpress基础版)
Kubernetes是现在比较流行的容器化软件。我们日常也比较使用的多,我们都是慢慢的从陌生到熟悉的进阶,只有不断的学习,才能有收获。Kubernetes专栏:https://blog.csdn.net/heian_99/category_9652886.htmlKubernetes官网地址:https://kubernetes.io/这个专栏,模拟Kubernetes的日常发布流程。源码地址:https://github.com/nangongchengfeng/Kubernetes/tr原创 2021-04-03 23:47:45 · 879 阅读 · 1 评论