
k8s
文章平均质量分 51
zhangzhen02
这个作者很懒,什么都没留下…
展开
-
kong 网关插件response-transformer 不处理gzip压缩内容的解决办法
在插件开发时,发现kong自带插件不处理压缩内容。需要自己定制开发。使用zlib,新增处理脚本myCompression.lualocal zlib = require "zlib"-- see https://stackoverflow.com/questions/45216069/lua-how-to-gzip-a-string-gzip-not-zlib-in-memory-- and https://github.com/brimworks/lua-zliblocal _M = {原创 2021-04-22 14:09:08 · 1069 阅读 · 2 评论 -
rancher helm-controller 源码解析
一,首先下载helm-controller源码helm-controller二,找到helm.go方法,这是一切的开始func main() { //生成一个新的配置结构体 actionConfig := new(action.Configuration) //将所有命令集成进来,找到具体的命令,下文详说 cmd, err := newRootCmd(actionConfig, os.Stdout, os.Args[1:]) if err != nil { warning("%+v",原创 2021-04-12 20:59:50 · 875 阅读 · 0 评论 -
kubernetes webhook 本地调试避坑指南
本文着重介绍本人在测试webhook过程中遇到的问题,及最终解决方案。我在linux机器上测试,安装kubebuilder,kustomize等问题不再赘述。一,安装项目1.首先在gopath下新建目录,并进入目录mkdir mywebhookcd mywebhook/2.初始化项目[root@host mywebhook]# kubebuilder init --domain zander.com3,生成kind,crdkubebuilder create api --group原创 2021-03-11 17:53:46 · 4609 阅读 · 1 评论 -
使用pongo进行kong plugin 测试
我使用docker启动,命令如下一,启动docker 并挂载目录docker run -it --rm -v //var/run/docker.sock:/var/run/docker.sock -v E:\dockers\pongo\plugins:/pongo_wd -v E:\dockers\pongo\kong-pongo:/root/kong-pongo pongo-1.0 /bin/bash其中需要测试的插件放入宿主机E:\dockers\pongo\plugins目录并将https原创 2021-03-04 14:17:54 · 401 阅读 · 1 评论 -
Kong插件session分析
因为最近要开发自定义kong认证插件,比如使用casbin鉴权或者cas sso 单点登录等功能。遇到避免二次登录的问题,故考虑使用Kong 自带的session插件。那么就遇到了第一个问题,session插件是怎么工作的?一,获取源码kong session 源码地址 https://github.com/Kong/kong-plugin-session在plugins目录我们看到一个标准的kong插件文件列表二,handler.luahandler.lua定义了优先级为1900,并将he原创 2021-03-04 10:57:48 · 646 阅读 · 1 评论 -
KONG 使用go 插件 实战
一,Dockerfile####################### Go plugins - https://github.com/Kong/docker-kong/issues/326#####################FROM kong:2.0-ubuntu as compilerUSER rootRUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listRUN sed -i s原创 2021-01-05 14:49:33 · 1831 阅读 · 0 评论 -
nsenter介绍,安装及使用
一,nsenter是什么?nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。二,有什么用?一个最典型的用途就是进入容器的网络命令空间。相当多的容器为了轻量级,是不包含较为基础的命令的,比如说ip address,ping,telnet,ss,tcpdump等等命令,这就给调试容器网络带来相当大的困扰:只能通过docker inspect ContainerID命令获取到容...原创 2020-04-09 20:55:28 · 3980 阅读 · 0 评论 -
大量的time_wait状态tcp连接导致性能问题的解决方案,及grpc client请求优化
测试说,网站页面突然很卡。首先kubernates集群没有报警,集群资源cpu,内存使用也还算正常。然后查看jvm,发现并没有大量的full gc。确切的说,近期连一次full gc都没有发生。那么说明,不是pod问题,不是jvm的gc引起的。再然后排查数据库连接,通过druid查看,发现sql也没有什么问题。看起来一切都是这么安好。。。转念一想,既然服务都如此正常,会不会是网络资源问题...原创 2020-03-26 15:20:13 · 4512 阅读 · 3 评论 -
OOM 内存溢出排查手记
到目前为止,发生了几次溢出。现将排查过程记录如下,供大家交流。一,先将dump文件,下载到本地。下载方式可以参见我前面的文章二,将dump文件导入jvisualvm可以看到出现OOM的线程是grpc,这个线程可以关注下,不过目前还不能确定是这个线程引起的问题,也可能是这个线程比较倒霉。三,点击查找20个保留的最大对象,看下哪些对象占的内存比较多可以看到,站内存最大的几个对象都是hi...原创 2020-03-25 19:18:59 · 642 阅读 · 0 评论 -
kubernates中使用jvm 工具
项目中出现OOM,需要在线排查,发现线上的pod不支持jmap等命令,经过排查已解决该问题,现记录如下1.首先在Dockerfile中要选用一个jdk,而非jre那么将原FROM openjdk:8-jre-alpine改为: FROM openjdk:8u191-jdk-alpine3.92.这样直接使用,由于java的pid 为1,所以使用jmap,jstack等工具时,会报错...原创 2020-03-24 20:09:18 · 668 阅读 · 0 评论 -
eureka在docker和kubernetes中的集群部署
在docker环境下部署eureka集群还是很简单的docker-compose.yaml如下version: '2'services: eureka-peer-1: image: image-url ## 镜像 container_name: eureka-peer-1 environment: - SERVER_PORT=8761 ...原创 2020-03-13 15:42:00 · 544 阅读 · 0 评论 -
kubernetes 中抓包分析pod数据
因排查问题,需抓k8s内pod的数据以供分析。现将操作步骤记录如下:1.先找到pod所在的nodekubectl get pod -n namespace -o wide2.登录到该node所在主机3.查找podiddocker ps|grep podname4.根据podId查找容器进程的PIDdocker inspect --format “{{ .State.Pid}}” p...原创 2020-03-05 10:58:49 · 957 阅读 · 0 评论 -
记一次net::ERR_CONNECTION_RESET报错排查
浏览器请求自己的服务,间歇性的出现net::ERR_CONNECTION_RESET查看服务容器日志,未发现请求记录,说明此请求根本没有到后端。由于我们使用的k8s部署容器,请求会首先到达ingress那么查看ingress配置发现ingress中配置有tls,用于实现https,不过配置未完全生效。再根据postman反馈信息判断,大概率是这个tls配置不正确导致请求被阻塞。将i...原创 2020-02-27 15:17:19 · 6063 阅读 · 0 评论 -
监控容器内的JVM
监控容器内的JVM一,不使用k8s,仅仅使用docker目前测试可行办法是HOST为宿主机ip,network_mode为"host"如下:entrypoint.sh HOST为宿主机ip```bash#!/usr/bin/env bashset -xJMX_PORT=9010HOST="172.31.32.13"java \ -Dsun.management.j...原创 2019-12-27 12:38:57 · 1731 阅读 · 0 评论 -
在k8s中部署lcn集群
k8s部署lcn集群1.在git上拉取lcn5.0.2源码,git clone https://github.com/codingapi/tx-lcn.git2.更改txlcn-tm 下pom.xml中的打包插件,如下:<build> <plugins> <!-- springboot编译打包插件 --> ...原创 2019-10-23 14:34:35 · 781 阅读 · 0 评论