将容器映像部署到OpenShift

时间:2019-10-02 06:45:22

标签: docker kubernetes openshift redhat

我想将本文(Getting any Docker image running in your own OpenShift cluster)应用于RedHat Registry中的图片。我选择了rhel8/redis-5 image。我不清楚要遵循的步骤。

我尝试了oc new-app --docker-image=registry.redhat.io/rhel8/redis-5。即使从RedHat Registry Service帐户复制Docker配置详细信息后,此操作也无法执行。 oc new-app是否可以处理存储在Docker Hub外部的图像?

接下来,我尝试了OpenShift秘密选项。

遵循Registry Service account中的详细信息以使用OpenShift secret,我们必须运行此命令。 kubectl create -f chainhead-secret.yml --namespace=NAMESPACEHERE。这就是所谓的图像拉动秘密吗?是否有等效的oc命令?

下一步是使用yaml代码段更新Kubernetes配置,如下所示。应该在哪里使用它-oc,Web控制台,kube-whatever命令等?

apiVersion: v1
kind: Pod
metadata:
  name: somepod
  namespace: all
  spec:
    containers:
      - name: web
        image: registry.redhat.io/REPONAME

    imagePullSecrets:
      - name: some-pull-secret

2 个答案:

答案 0 :(得分:0)

我不熟悉OpenShift,但是我发现一些可能对您有所帮助的东西。

除了上一个答案中提到的@Arockiasmy K之外,YAML语法不正确。它不会创建广告连播:widget.value = event.target.value; widget.datasource.load(); 必须与spec位于同一杠杆上。

kind

apiVersion: v1 kind: Pod metadata: name: somepod namespace: all spec: containers: - name: web image: <image>

另一件事,请确保您已经拥有名为“ 全部”的$ kubectl apply -f <pod-yaml>,并且请记住该秘密必须与namespace位于同一namespaces中。 / p>

希望这会有所帮助。

答案 1 :(得分:-1)

您可以使用kubectloc创建密钥。两者都可以在Openshift中使用。

oc create -f redhat-secret.yml --namespace=NAMESPACEHERE

确保主机名是registry.redhat.io。您可以通过两种方式将其附加到部署。

  • 您可以将这个秘密作为imagePullSecrets提到pod.dc配置中。
  • 您可以将此秘密作为imagePullSecrets添加到默认SA(在项目中)。 oc edit sa default