我在我的 EKS 集群上运行哨兵,根据官方文档,它只能在 rootPath“/”上公开,我还在默认的 Web 上下文“/auth”上公开 keycloak 所以我部署了 nginx 入口控制器,入口资源来匹配这些路径,但我遇到的问题是哨兵路径(“/”)总是重定向到“/auth”,这是keycloak的默认路径,这会导致冲突。就我而言,我不允许更改 keycloak 的网络上下文,因此我尝试为具有相同类的哨兵部署另一个 nginx 入口控制器,但我不知道该怎么做,因为所有示例都使用具有不同类的入口控制器。所以我想知道是否可能如何部署与第一个几乎相同的 seconf nginx 入口,或者是否有其他解决方案请帮助我了解。
这是我使用的 nginx 入口控制器:
apiVersion: v1
kind: Namespace
metadata:
name: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
---
# Source: ingress-nginx/templates/controller-serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
helm.sh/chart: ingress-nginx-2.0.1
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/version: 0.31.1
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: controller
name: ingress-nginx
namespace: ingress-nginx
---
# Source: ingress-nginx/templates/controller-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
labels:
helm.sh/chart: ingress-nginx-2.0.1
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/version: 0.31.1
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: controller …Run Code Online (Sandbox Code Playgroud) sentry nginx-reverse-proxy kubernetes-ingress amazon-eks nginx-ingress
我知道当您希望服务帐户访问多个命名空间时,您可以为一个服务帐户分配多个角色,但我想知道当您向它分配多个集群范围内的集群角色时,它会如何表现。从我的角度来看,我认为它会选择其中之一,但我不确定。
我在 AWS EKS 集群中运行了我的应用程序的部署和服务,通过添加此注释service.beta.kubernetes.io/aws-load-balancer-type: nlb,该服务被公开为 NLB 类型的负载均衡器,但是当我尝试通过将注释更改为service.beta.kubernetes.io/aws-load-balancer-type 将其切换到 ALB:alb它创建了一个经典的负载均衡器,这意味着不考虑此注释,因此有什么方法可以公开ALB 上的服务?
我使用 configMap 来存储挂载路径值,但是当我调用 pod 时,它不起作用,似乎无法将 mountPath 属性分配给环境变量。
这是我的代码:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
env:
- name: MOUNT_PATH
valueFrom:
configMapKeyRef:
name: my-configMap
key: MOUNT_PATH
volumeMounts:
- name: nginx-volume
mountPath: $(MOUNT_PATH)
volumes:
- name: nginx-volume
persistentVolumeClaim:
claimName: my-pvc
---
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configMap
namespace: default
data:
MOUNT_PATH: "/opt/somepath"
Run Code Online (Sandbox Code Playgroud)