合集-kubernetes
摘要:k8s默认被重写/etc/hosts 在k8s启动容器时,会把自己的pod名称和IP写到/etc/hosts里,这是为了解析用的 10.42.0.133 nezha-producer-deployment-68447fcd9c-n6c28 Dockerfile里的配置被覆盖 所在你在打包镜像时,你在
阅读全文
摘要:对于fluentd这个组件来说,你是负责抓取日志的,它可以从docker的控制台里抓取,也可以从指定文件夹里抓取,对于文件夹里存储的日志文件,我们需要先配置logback,然后再进行fluentd的configmap的配置,这样才能把持久化的日志抓取出来,并推送到elastic这种存储介质里。 lo
阅读全文
摘要:springboot开发微服务框架一般使用springcloud全家桶,而整个项目都是容器化的,通过k8s进行编排,而k8s自己也有服务发现机制,所以我们也可以抛弃springcloud里的eureka,而直接使用k8s自己的服务。 添加组件 注意点 1. application.name与k8s的
阅读全文
摘要:对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是说,你需要反复的使用同样结构的代码,这对于开发人员来说不是一个好的信号,所以helm出现了,它是一种
阅读全文
摘要:在k8s里对应用进行部署,主要也就是无状态应用deployment,服务发现service和反向代理ingress了,所以这次主要来介绍它们,如果对yaml语法不清楚的同学还需要看我的上一篇文章。 无状态应用Deployment模版 服务发现svc(service.yaml)模版 服务配置,主要是跟
阅读全文
摘要:Chart.yaml 文件作用 1. name: [必须] Chart的名称 2. version: [必须] Chart的版本号,版本号必须符合 SemVer 2:http://semver.org/ 3. description: [可选] Chart的简要描述 4. keywords: [可选
阅读全文
摘要:三个概念 1. chart:包含了创建Kubernetes的一个应用实例的必要信息 2. config:包含了应用发布配置信息 3. release:是一个chart及其配置的一个运行实例 建立一个helm charts Chart.yaml 用于描述这个Chart的相关信息,包括名字、描述信息以及
阅读全文
摘要:通过kubectl可以很方便的把istio部署到k8s里,当然使用helm也是可以的,但有时helm版本和istio会有冲突,所以本文主要使用kubectl来进行部署 # istio简单的几个概念 在Service Mesh中,我们需要了解Data Plane和Control Plane两个概念:
阅读全文
摘要:上级讲了helm2的安装,并且在安装过程中可能会出现问题,主要是与k8s版本冲突的问题,而最新的helm3对整个helm的架构都有了一个改进,它只有一个客户端的helm程序,由它进行连接k8s集群,完成对charts的部署工作。 下载helm3 查看配置信息 添加公用的仓库 指定对应的k8s集群 这
阅读全文
摘要:上一讲说了一些helm的基本概念,而今天主要说一下如何把helm部署到服务器上,在helm3之前的版本里,它由客户端helm和服务端tiller组成,而helm3.0之后它去掉了tiller,而直接与k8s通讯,可以说在部署上更简单了,而今天我们主要还是部署2.x版本的helm. 下载安装包 脚本文
阅读全文
摘要:目前在对接keycloak过程中,通过云端LB到ingress,再由ingress到k8s-service,在配置完成之后,偶发出现502的情况。 ingress的配置,先是实现了客户端的会话保持 apiVersion: extensions/v1beta1 kind: Ingress metada
阅读全文
摘要:问题的产生 对于我们的容器化部署项目keycloak来说,当它从云端负载均衡LB直接通过 NodePort转发到keycloak时,没有任务问题,一切正常;缺点就是,运维人员要维护一大批端口,哪个端口对应哪个服务,非常容易出乱子。 问题的解决 只要你不放弃,任何问题都可以解决,前提是不要走死胡同,因
阅读全文
摘要:Ingress限流 限速的注解定义了对连接和传输速率的限制。这些可以用来减轻DDoS攻击。它采用了 “漏斗” 算法实现限制。 主要参数 nginx.ingress.kubernetes.io/limit-connections 单个IP地址允许的并发连接数。超出此限制时,将返回503错误。 ngin
阅读全文
摘要:默认情况下,ingress(nginx)对文件上传和文件下载的大小是有限制的(上传默认1M),这个限制我们可以修改它。 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-test-ce namespace: te
阅读全文
摘要:有时为了日志解耦,通常不把日志打到文件,而是直接打到kafka,而为了分析日志,我们可以通过sidecar的方式,把日志从kafka写入到es里,而通过kibana对日志进行分析。 我的k8s-fluentd的相关文章 k8s~部署EFK框架 k8s~为服务添加sidecar边斗 k8s~fluen
阅读全文
摘要:在k8s应用中,如果你是通过云端防火墙和负载均衡搭配使用时,我们一般是这样与k8s集群中的服务进行通讯的: 在云端防火墙安全配置中,配置你的公网域名 在云端负载均衡中,为每个业务配置对应的k8s-ingress,通常一组业务相同的域名,对应同一个ingress 在云端负载均衡中,配置转发到k8s-i
阅读全文
摘要:首先,后端项目springboot,前端项目VUE,两个都是运行在docker容器里,通过k8s进行编排的。 获取真实的客户端IP地址 一 需要在前端VUE的宿主nginx中,添加请求头规则 location /api { proxy_set_header Host $http_host; prox
阅读全文
摘要:nginx或者其它负载均衡软件都有一个能力,就是当客户请求一个网页时,第一次访问的是A服务器,第二次也就会让你访问A服务器,而在k8s里,也有这种机制和能力。 k8s的Session affinity Service同样也支持Session affinity(粘性会话)机制,可以将来自同一个客户端的
阅读全文
摘要:在《k8s~Endpoints的使用》文章中,我们知道了如何通过Endpoints来访问外部资源,而本篇主要说一下它的另一个用法,service的负载均衡。 service的负载pod 注意:service转发到endpoints只是实现了负载均衡,并没有实现健康检查,也就是当,说endpoint指
阅读全文
摘要:对于k8s上的pod来说,它由于容器组成,它是k8s里的最基本单位,你可以通过service来实现对pod的负载均衡,对外提供服务,而可以不需要传统的nginx做负载了,当然如果你的域名是公开的,不需要云上的负载服务的,也可以直接使用k8s的ingress来实现。 参考:https://www.bl
阅读全文