分类 kubernetes 下的文章

flannel vxlan模式通信简读

环境信息目标:要访问目标IP为10.244.4.51的POD首先经过路由表匹配规则10.244.4.0/23 via 10.244.4.0 dev flannel.1 onlink确定下一跳为10.244.4.0(目标POD所属Node上flannel.1的IP)通过arp表可以找到目标pod所在节点的flannel.1网卡的MAC地址(对端VTEP设备的MAC)arp -an | grep...

继续阅读 »

kubectl debug - 社区方案

githubhttps://github.com/aylei/kubectl-debughttps://github.com/JamesTGrant/kubectl-debug原作教程https://aleiwu.com/post/kubectl-debug-intro/正如readme中所说从 kubernetes 1.23开始,临时容器功能处于测试阶段(默认启用) 临时容器功能从 kub...

继续阅读 »

nginx-ingress丢失header问题

最近从其他地方迁移过来一个没人维护的服务,容器化后跑在k8s上, 都配置完后发现无法正常访问,看日志说没获取到token,心想可能是nginx代理这块丢失了header信息。ingress配置如下apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.cla...

继续阅读 »

配置ack的nas storageclass

主要是备忘,前提要有alicloud-nas-controllerapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-nas-devops mountOptions: - nolock,tcp,noresvport - vers=4 parameters: server: xxx.xxx....

继续阅读 »

traefik配置跨域策略

1.这里用到traefik的middleware,用于添加响应头apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: test-cors namespace: default spec: headers: customResponseHeaders: Access-...

继续阅读 »

Linux Network Namespace

作者: 酷壳–CoolShell 原文: https://coolshell.cn/articles/17029.htmlNetwork的Namespace比较啰嗦。在Linux下,我们一般用ip命令创建Network Namespace(Docker的源码中,它没有用ip命令,而是自己实现了ip命令内的一些功能——是用了Raw Socket发些“奇怪”的数据,呵呵)。这里,我还是用ip...

继续阅读 »

解决virtualservice前缀路由匹配冲突问题

背景当我们有两个virtualservice并且路由匹配都是使用match.uri.prefix,第一个路由r1是匹配/it前缀,第二个路由r2匹配/item前缀。这时你会发现无论是访问/it、/it/、/it/xxx,/item,/item/,/item/xx都会匹配到r1对应的服务。由于vs不支持priority,可以通过下面几种方法解决合并virtualservice(推荐)使用reg...

继续阅读 »