- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在完成一个展示如何在 IBM Cloud 上设置 Kubernetes 和 CLI 的实验室。
我有 Kubernetes 集群设置和容器注册表。我在 CLI 上登录到 IBM Cloud 和 Container Registry。图片已创建并推送。
我可以使用带有命令式命令的图像创建一个 pod:
kubectl create -f hello-world-create.yaml
yaml
文件如下所示:
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec:
containers:
- name: hello-world
image: us.icr.io/earlyprogramimages/hello-world:1
ports:
- containerPort: 80
imagePullSecrets:
- name: icr
但是当我尝试运行同一图像的声明性命令时
kubectl apply -f hello-world-apply.yaml
yaml
文件的样子
apiVersion: apps/v1
kind: Deployment
metadata:
generation: 1
labels:
run: hello-world
name: hello-world
spec:
replicas: 3
selector:
matchLabels:
run: hello-world
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
run: hello-world
spec:
containers:
- image: us.icr.io/earlyprogramimages/hello-world:1
imagePullPolicy: Always
name: hello-world
ports:
- containerPort: 80
protocol: TCP
imagePullSecrets:
- name: icr
dnsPolicy: ClusterFirst
restartPolicy: Always
securityContext: {}
terminationGracePeriodSeconds: 30
我得到事件堆栈所在的每个 pod 的 ErrImagePull
状态
Successfully assigned default/hello-world-6fd8bd67dc-79gbz to xx.xx.xx.xx
Pulling image "us.icr.io/earlyprogramimages/hello-world:1
Failed to pull image "us.icr.io/earlyprogramimages/hello-world:1": rpc error: code = Unknown desc = failed to pull and unpack image "us.icr.io/earlyprogramimages/hello-world:1": failed to resolve reference "us.icr.io/earlyprogramimages/hello-world:1": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized
Error: ErrImagePull
显然该命令没有对图像的读取权限,但我已使用成功登录
ibmcloud cr login
并且可以使用命令式 create 命令部署 pod。
我已经阅读了文档,但无法确定我忽略了哪一步。为声明式应用命令授予适当的访问权限需要哪些额外步骤?
运行
kubectl get secrets -n default | grep "icr-io"
给予
kubectl get secrets -n default | grep "icr-io"
all-icr-io kubernetes.io/dockerconfigjson 1 167m
default-au-icr-io kubernetes.io/dockerconfigjson 1 167m
default-de-icr-io kubernetes.io/dockerconfigjson 1 167m
default-icr-io kubernetes.io/dockerconfigjson 1 167m
default-jp-icr-io kubernetes.io/dockerconfigjson 1 167m
default-uk-icr-io kubernetes.io/dockerconfigjson 1 167m
default-us-icr-io kubernetes.io/dockerconfigjson 1 167m
最佳答案
这是我按预期所做和工作的,
如您所见,all-icr-io
是集群中提供的默认镜像拉取 key 。 不确定您为什么使用 icr
By default, the IBM Cloud Kubernetes cluster is set up to pull imagesfrom only your account’s namespace in IBM Cloud Container Registry byusing the secret
all-icr-io
in the default namespace.
检查 documentation here将现有图像 pull secret 复制到非默认命名空间
所以,我的hello-world-create
看起来像这样
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec:
containers:
- name: hello-world
image: us.icr.io/mods15/hello-world:1
ports:
- containerPort: 80
imagePullSecrets:
- name: all-icr-io
我的hello-world-apply.yaml
是
apiVersion: apps/v1
kind: Deployment
metadata:
generation: 1
labels:
run: hello-world
name: hello-world
spec:
replicas: 3
selector:
matchLabels:
run: hello-world
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
run: hello-world
spec:
containers:
- image: us.icr.io/mods15/hello-world:1
imagePullPolicy: Always
name: hello-world
ports:
- containerPort: 80
protocol: TCP
imagePullSecrets:
- name: all-icr-io
dnsPolicy: ClusterFirst
restartPolicy: Always
securityContext: {}
terminationGracePeriodSeconds: 30
关于kubernetes - 获取 ErrImagePull : 401 Unauthorized when creating a Kubernetes Pod with a declarative command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63472449/
尝试使用以下命令将我的Docker容器推送到Bluemix: sudo docker push registry.ng.bluemix.net//testproj:latest ...但是它保持这种状
我正在运行最新的 Raspbian 发行版并且刚刚安装了 transmission包。 但是,每当我运行 transmission-remote命令 - 例如,要更改一些基本配置 - 我不断收到相同的
我已经使用 Ruby Gem rest-client 来请求网站的 url。我收到以下错误... RestClient::Unauthorized (401 Unauthorized): app/
安装 kube-dns 插件时出现问题。 我的操作系统是 CentOS Linux release 7.0.1406 (Core) Kernel:Linux master 3.10.0-693.el7
我在 ubunto 16 上安装了 Coturn 服务器 目前我正在检查它 function checkTURNServer(turnConfig, timeout){ return new Pr
我正在尝试使用Azure上部署的Kubernetes 1.9.9在新设置的AKS群集上使用Kubernetes仪表板。 我运行kubectl proxy并打开http://localhost:8001
我想测试来自java的Rest接口(interface)。目的是检查 jpg 图像中是否找到任何人脸。我为此使用的 res 调用是 ../face/v1.0/detect 我将 Ocp-Apim-Su
所以我有自己的解析服务器,运行着heroku。 此云代码功能: Parse.Cloud.define("ReadyUp", function(request, response) {
今天,我开始收到此错误,据我所知,没有任何原因。这不是一个一致的错误。今天突然开始了。它昨天运行完美,并且几个星期都没有任何错误。 文件中只有 file_get_contents()。 一段时间以来,
我试图让用户在 Laravel 8 中查看类别页面 CategoryPolicy.php use App\Models\Category; use App\Models\User; use Illum
我正在尝试从 Nexus 存储库中查看我的代码。 首先,我已经生成了密码 mvn --encrypt-master-password _mypassword_ 这是我的 c:/Users/joanet
我使用的是最新的开源 formsflow.ai v4.0.2。我将整个项目带到了我的个人笔记本电脑上。我遵循了 Docker 完整安装指南。 Docker 运行良好。在 http://localhos
我已根据 ADLS Gen2 容器中存储的 parquet 文件在 Azure Synapse 中创建了一个外部表。我使用以下三个查询来创建数据源、文件格式和表: CREATE EXTERNAL DA
我正在尝试按照示例项目和来自 here 的教程将示例 Power BI 仪表板嵌入到 WPF 应用程序中.当我启动该应用程序时,我必须输入我的密码来验证我自己,当它尝试使用 getAppWorkspa
因此,我正在尝试使用kubernetes(minikube)。我是一个初学者,对docker有一些基本的经验。 事实证明,我2天前安装了kubernetes,却没有做任何事情。 我几乎没有设法连接到仪
所以问题是:我最近做了 this post . 我提到的解决方案适用于一个 token 和一个 API,但当我尝试使用两个 token (gmail 和 Sheets API)处理两个 API 时,它
我正在使用 Java 开发一个包含文本转语音功能的应用程序。我使用了 IBM Watson Text-to Speech API,但我的代码总是出现未经授权的错误。有人能帮我修复它吗?非常感谢! Ia
我正在尝试按照示例项目和来自 here 的教程将示例 Power BI 仪表板嵌入到 WPF 应用程序中.当我启动该应用程序时,我必须输入我的密码来验证我自己,当它尝试使用 getAppWorkspa
我们已将 TFS 2013 服务器升级到 TFS 2015,我们正在设置新的构建代理。 在此之前,我们进行了试运行,并在我们对现有 TFS 数据库进行最终转换之前让一切都运行良好。构建代理工作得很好。
我需要一些有关 Azure Durable Functions 的帮助。 我在 C# 中使用 VS Code 创建了一个新的持久函数,并通过 VS Code azure 函数扩展将其部署到 Azure
我是一名优秀的程序员,十分优秀!