Kubernetes 无法访问Knative中的私有注册表
我试图将示例应用程序推送到Knative,但遇到以下错误消息:Kubernetes 无法访问Knative中的私有注册表,kubernetes,knative-serving,knative,Kubernetes,Knative Serving,Knative,我试图将示例应用程序推送到Knative,但遇到以下错误消息: 修订版“…”失败,消息为:无法获取图像“…”:不支持的状态代码401;正文:未授权 Knative在EC2上设置正确,我已经创建了一个服务帐户和一个从ECR获取的秘密。我错过了什么?我不确定为什么Knative不能访问我的私人AWS存储库,即使K8s(不是Knative)能够访问 秘密: apiVersion: v1 kind: Secret metadata: name: registry-push-secret anno
修订版“…”失败,消息为:无法获取图像“…”:不支持的状态代码401;正文:未授权
Knative在EC2上设置正确,我已经创建了一个服务帐户和一个从ECR获取的秘密。我错过了什么?我不确定为什么Knative不能访问我的私人AWS存储库,即使K8s(不是Knative)能够访问
秘密:
apiVersion: v1
kind: Secret
metadata:
name: registry-push-secret
annotations:
build.knative.dev/docker-0: https://....
type: kubernetes.io/basic-auth
stringData:
username: token
password: <token_value>
可有可无的配置:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: test
namespace: default
spec:
runLatest:
configuration:
revisionTemplate:
spec:
serviceAccountName: test-sa
container:
image: ...
imagePullPolicy: Always
env:
- name: TARGET
value: "..."
对于任何一个偶然发现这一点的人来说,它最终在Github问题中得到了解决:我所看到的唯一不同之处是docker服务器包含了“https://”方案。我刚刚得到了一个原始的主人。您可能还想看到@ryanbrainard,Github问题似乎仍然存在,最近的评论证实它仍然不起作用。希望它能很快得到解决。谢谢
apiVersion: v1
kind: ServiceAccount
metadata:
name: test-sa
secrets:
- name: registry-push-secret
imagePullSecrets:
- name: secret-name
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: test
namespace: default
spec:
runLatest:
configuration:
revisionTemplate:
spec:
serviceAccountName: test-sa
container:
image: ...
imagePullPolicy: Always
env:
- name: TARGET
value: "..."