Ingress 是 Kubernetes 集群中的一个 API 对象,用于在集群外公开服务。为了访问该服务,需要创建一个服务账户,并将其分配给 Ingress。一些可能导致“Dont understand service account for ingress”错误的原因包括:
以下示例代码演示了如何创建一个服务账户并将其分配给 Ingress。
创建服务账户:
apiVersion: v1
kind: ServiceAccount
metadata:
name: my-ingress-service-account
将服务账户分配给 Ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app-ingress
spec:
rules:
- host: my-app.com
http:
paths:
- path: /my-app
pathType: Prefix
backend:
service:
name: my-app-service
port:
name: http
ingressClassName: nginx
ingressClassName: nginx
serviceAccountName: my-ingress-service-account
此代码将服务账户“my-ingress-service-account”分配给一个 Ingress 对象,并为 Ingress 中的每个服务设置了 ingressClassName。确保服务账户具有足够的权限以使 Ingress 能够访问服务。
下一篇:不理解IntentFilters