Authentication 我对Kubernetes的证词有意见。有人能帮助我在尝试连接到群集IP时总是出现此错误吗
我和库伯内特斯有问题。我尝试部署我的服务两天了,但我做错了什么Authentication 我对Kubernetes的证词有意见。有人能帮助我在尝试连接到群集IP时总是出现此错误吗,authentication,nginx,kubernetes,Authentication,Nginx,Kubernetes,我和库伯内特斯有问题。我尝试部署我的服务两天了,但我做错了什么 { "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "forbidden: User \"system:anonymous\" cannot get path \"/\": No policy matched.", "reason": "Forbidden", "detail
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\": No policy matched.",
"reason": "Forbidden",
"details": {
},
"code": 403
}
有人知道问题出在哪里吗?
这也是我的yaml文件:
# Certificate
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
name: ${APP_NAME}
spec:
secretName: ${APP_NAME}-cert
dnsNames:
- ${URL}
- www.${URL}
acme:
config:
- domains:
- ${URL}
- www.${URL}
http01:
ingressClass: nginx
issuerRef:
name: ${CERT_ISSUER}
kind: ClusterIssuer
---
# Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ${APP_NAME}
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/from-to-www-redirect: 'true'
spec:
tls:
- secretName: ${APP_NAME}-cert
hosts:
- ${URL}
- www.${URL}
rules:
- host: ${URL}
http:
paths:
- backend:
serviceName: ${APP_NAME}-service
servicePort: 80
---
# Service
apiVersion: v1
kind: Service
metadata:
name: ${APP_NAME}-service
labels:
app: ${CI_PROJECT_NAME}
spec:
selector:
name: ${APP_NAME}
app: ${CI_PROJECT_NAME}
ports:
- name: http
port: 80
targetPort: http
---
# Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: ${APP_NAME}
labels:
app: ${CI_PROJECT_NAME}
spec:
replicas: ${REPLICAS}
revisionHistoryLimit: 0
selector:
matchLabels:
app: ${CI_PROJECT_NAME}
template:
metadata:
labels:
name: ${APP_NAME}
app: ${CI_PROJECT_NAME}
spec:
containers:
- name: webapp
image: eu.gcr.io/my-site/my-site.com:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 80
env:
- name: COMMIT_SHA
value: ${CI_COMMIT_SHA}
livenessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 30
timeoutSeconds: 1
readinessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 5
timeoutSeconds: 1
resources:
requests:
memory: '16Mi'
limits:
memory: '64Mi'
imagePullSecrets:
- name: ${REGISTRY_PULL_SECRET}
有人能帮我吗?我陷入困境,不知道会有什么问题。这也是我的第一个Kubernetes项目
“消息”:“禁止:用户\”系统:匿名\“无法获取路径\”/\“:没有匹配的策略。”,
。。意思就是说:您对kubernetes api的请求没有经过身份验证(这是系统:匿名
部分),并且您的配置不允许匿名用户向api发出任何请求
这里没有人能够帮助你解决这个问题,因为解决这个问题需要大量的变量。也许可以请您的群集管理员为您提供正确的凭据。我已经在本文中对此进行了解释。您将需要ServiceAccount、ClusterRole和RoleBinding。你可以在这里找到解释。或者正如马修·丹尼尔在库伯内特斯的文献中提到的那样。
如果仍然存在问题,请提供用于部署集群的方法/教程(因为“Gitlab Kubernetes集成”并不能说明您所使用的方法)。FWIW,不要将
服务
对象命名为${APP_name}-Service
;这只意味着您必须键入更多字符,以便在已包含svc
的命令末尾添加-service
;所有这些名称都有两个名称空间:每个kubernetes名称空间一次,每个资源类型第二次。因此,您可以拥有名为foo
的服务
和名为foo
的部署
等等。谁构建集群?这个问题主要出现在使用Kelsey Hightowers Kubernetes the hard way manual(至少是旧版本)的自建集群中,因为其中缺少基本RBAC设置。如果您使用像kops这样的部署程序,或者只使用cluster-up.sh,那么这个问题不应该存在。在那里我禁用了RBAC。所以这不应该是个问题,对吧?