我希望可以征求你的意见。
简而言之,问题是:我的管道无法从GHCR中提取私人图像。IO变成了Okteto Kubernetes,但来自同一私人回购协议的公开图像。
我在Windows 10上使用WSL2 Ubuntu20.04 LTS和kinD for development,并尝试了minikube。
我在Okto中发现一个错误,它说图像拉取是未经授权的->拉回。
我做的事情:浏览堆栈溢出、RTFM、Okteto FAQ、下载Okteto kubeconfig、拔出头发,花了比我想承认的更多的时间,但仍然没有成功。
无论出于什么原因,我都无法创造一个行之有效的“库贝特秘密”。当登录到ghcr时。io通过——docker登录——用户名——我可以在本地提取私人图像。
无论我尝试了什么,当我试图在Okteo中提取私人图像时,仍然会出现未经授权的错误。
我的设置和最新更新:
-
Windows 10 Pro
-
喷气式飞机驾驶员
-
WSL2 Ubuntu 20.04 LTS
-
ASP。NET核心MVC应用程序
-
.NET 6 SDK
-
码头工人
-
友善的
-
-
巧克力味
-
自制的
设置类型
kind create cluster --name my-name
kubectl create my-namespace
// create a secret to pull images from ghcr.io
kubectl create secret docker-registry my-secret -n my-namespace --docker-username="my-username" --docker-password="my-password" --docker-email="my-email" --docker-server="https://ghcr.io"
// patch local service account
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "my-secret"}]}'
库伯内特斯。亚马尔
apiVersion: apps/v1
kind: Deployment
metadata:
name: okteto-repo
namespace: my-namespace
spec:
replicas: 1
selector:
matchLabels:
app: okteto-repo
template:
metadata:
labels:
app: okteto-repo
spec:
containers:
- name: okteto-repo
image: ghcr.io/user/okteto-repo:latest
ports:
- containerPort: 80
imagePullSecrets:
- name: my-secret
---
apiVersion: v1
kind: Service
metadata:
name: okteto-repo
annotations:
dev.okteto.com/auto-ingress: "true"
spec:
type: ClusterIP
selector:
app: okteto-repo
ports:
- protocol: TCP
port: 8080
targetPort: 80
你知道为什么不行吗?我能做什么?
非常感谢我亲爱的朋友们,非常感谢你们的每一个意见!
希望你们假期愉快。
干杯
迈克尔