- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的设置是一个运行 Kubernetes 1.17 的裸机集群。我使用 Traefik 2(.3.2) 作为反向代理并为我使用的机器进行故障转移 kube-keepalive-vip
[1]。
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kube-keepalived-vip-config
namespace: kube-system
data:
172.111.222.33: kube-system/traefik2-ingress-controller
因此,我的 traefik 服务是默认类型的集群 IP,并引用了
kube-keepalive-vip
提供的外部 IP。服务:
---
apiVersion: v1
kind: Service
metadata:
name: traefik2-ingress-controller
namespace: kube-system
spec:
selector:
app: traefik2-ingress-controller
ports:
- protocol: TCP
name: web
port: 80
- protocol: TCP
name: webs
port: 443
externalIPs:
- 172.111.222.33
这按原样工作。现在我想限制我的一些应用程序只能从我网络内的特定子网访问。由于我的请求由
kube-keepalive-vip
处理还有
kube-proxy
,我请求中的客户端 IP 不再是实际客户端之一。但据我所知,文档
kube-proxy
正在
X-Forwarded-For
中设置真实ip标题。所以我的中间件看起来像这样:
internal-ip-whitelist:
ipWhiteList:
sourceRange:
- 10.0.0.0/8 # my subnet
- 60.120.180.240 # my public ip
ipStrategy:
depth: 2 # take second entry from X-Forwarded-For header
现在,对这个中间件所附加的入口的每个请求都被拒绝了。我检查了 Traefik 日志,发现请求包含一些
X-Forwarded-*
标题,但没有
X-Forwarded-For
:(
kube-keepalive-vip
中是否缺少某些东西配置?
最佳答案
对于遇到此问题的每个人,我同时设法解决了我的问题。
主要问题是kube-proxy
.默认情况下,所有服务都通过它路由。并且,根据您的 CNI 提供商(我使用 flannel
),您的调用客户端的信息会在那里丢失。
K8s 通过设置 .spec.externalTrafficPolicy
提供了一种解决方法。至 Local
( https://kubernetes.io/docs/concepts/services-networking/service/#aws-nlb-support )。但ClusterIP
不支持此功能服务。
所以我通过使用为裸机集群提供负载平衡的 MetalLB ( https://metallb.universe.tf/ ) 解决了这个问题。使用之前分配给keepalived容器的虚拟IP进行设置后,我将traefik服务配置为类型LoadBalancer
并请求我在 MetalLB 中拥有的一个 IP。
关于kubernetes - 在带有 ClusterIP 服务和 kube-keepalive-vip 的裸机 Kubernetes 上使用 Traefik 2 没有 X-Forwarded-For,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64559981/
我正在使用 rke在私有(private)云中生成 Kubernetes 集群。它产生 kube_config_cluster.yml文件。有没有办法将此配置添加到我的 $HOME/.kube/con
我尝试在我的桌面(Ubuntu 18)上运行 OKD。我按照指示:https://opensource.com/article/18/11/local-okd-cluster-linux (simil
我在我的 k8s 中使用 calico 作为 CNI,我试图在 3 个服务器中部署一个主集群。我用的是kubeadm,关注官方setup guide .但是发生了一些错误,kube-controlle
Fresh Kubernetes (1.10.0) 集群使用 kubeadm (1.10.0) 安装在 RHEL7 裸机虚拟机上 Linux 3.10.0-693.11.6.el7.x86_64 #1
我使用 kubeadm 安装了 kubernetes .为了启用基本身份验证,我添加了 --basic-auth-file=/etc/kubernetes/user-password.txt在我的 /
我尝试使用 minikube start 启动本地 Kubernetes 集群并收到以下错误。 Starting local Kubernetes v1.10.0 cluster... Startin
我用了this tutorial在我的 Raspberry 3 上设置一个 kubernetes 集群。 我按照说明进行操作,直到设置 flannel 为止: curl -sSL https://ra
我有一个本地 kubernetes 集群 v1.22.1(1 个主节点和 2 个工作节点),并且想使用 jenkins 上的 kubernetes 插件在这个 kubernetes 集群上运行 jen
我只是尝试运行一个简单的批处理作业并收到此错误“卷“kube-api-access-cvwdt”的 MountVolume.SetUp 失败:对象“default”/“kube-root-ca.crt
我只是尝试运行一个简单的批处理作业并收到此错误“卷“kube-api-access-cvwdt”的 MountVolume.SetUp 失败:对象“default”/“kube-root-ca.crt
我正在用KIND测试K8。。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但是当我转到路径时,我看不到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名
我在用kind测试k8。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但当转到路径时,我没有看到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名称节点
简介 kube-proxy 是 Kubernetes 集群中负责服务发现和负载均衡的组件之一。它是一个网络代理,运行在每个节点上, 用于 service 资源的负载均衡。它有两种模式:iptable
本文分享自华为云社区《kube-apiserver限流机制原理》,作者:可以交个朋友。 背景 apiserver是kubernetes中最重要的组件,一旦遇到恶意刷接口或请求量超过承载范围,api
kube-scheduler组件是kubernetes中的核心组件之一,主要负责pod资源对象的调度工作,具体来说,kube-scheduler组件负责根据调度算法(包括预选算法和优选算法)将未调度的
kube-scheduler组件是kubernetes中的核心组件之一,主要负责pod资源对象的调度工作,具体来说,kube-scheduler组件负责根据调度算法(包括预选算法和优选算法)将未调度的
kube-scheduler组件是kubernetes中的核心组件之一,主要负责pod资源对象的调度工作,具体来说,kube-scheduler组件负责根据调度算法(包括预选算法和优选算法)将未调度的
我通过docker-multinode设置了k8s $ https_proxy=http://10.25.30.127:7777 IP_ADDRESS=10.25.24.116 MASTER_IP=1
kube-proxy 有一个名为 --proxy-mode 的选项,根据帮助信息,该选项可以是 userspace 或 iptables。(见下文) # kube-proxy -h Usage of
在单节点Kubernetes集群上安装Kube-router时,遇到以下问题: kube-system kube-router-wnnq8 0/1
我是一名优秀的程序员,十分优秀!