$ oc set image-lookup mysql
作为Red Hat OpenShift Service on AWS原生资源的镜像流,可与Red Hat OpenShift Service on AWS中所有可用的原生资源一起使用,例如Build
或DeploymentConfigs
资源。也可以使它们与原生Kubernetes资源一起使用,例如Job
、ReplicationController
、ReplicaSet
或Kubernetes Deployment
资源。
使用Kubernetes资源与镜像流一起使用时,您只能引用与资源位于同一项目中的镜像流。镜像流引用必须由单个段值组成,例如ruby:2.5
,其中ruby
是具有名为2.5
的标签的镜像流的名称,并且与进行引用的资源位于同一项目中。
不要在默认项目中运行工作负载或共享对默认项目的访问权限。默认项目保留用于运行核心集群组件。 以下默认项目被认为是高度特权的: |
有两种方法可以使用Kubernetes资源启用镜像流
在特定资源上启用镜像流解析。这仅允许此资源在image字段中使用镜像流名称。
在镜像流上启用镜像流解析。这允许所有指向此镜像流的资源在image字段中使用它。
您可以使用oc set image-lookup
在特定资源上启用镜像流解析,或在镜像流上启用镜像流解析。
要允许所有资源引用名为mysql
的镜像流,请输入以下命令
$ oc set image-lookup mysql
这会将Imagestream.spec.lookupPolicy.local
字段设置为true。
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
annotations:
openshift.io/display-name: mysql
name: mysql
namespace: myproject
spec:
lookupPolicy:
local: true
启用后,该行为将对镜像流中的所有标签启用。
然后您可以查询镜像流并查看是否设置了该选项
$ oc set image-lookup imagestream --list
您可以在特定资源上启用镜像查找。
要允许名为mysql
的Kubernetes部署使用镜像流,请运行以下命令
$ oc set image-lookup deploy/mysql
这会设置部署上的alpha.image.policy.openshift.io/resolve-names
注释。
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: myproject
spec:
replicas: 1
template:
metadata:
annotations:
alpha.image.policy.openshift.io/resolve-names: '*'
spec:
containers:
- image: mysql:latest
imagePullPolicy: Always
name: mysql
您可以禁用镜像查找。
要禁用镜像查找,请传递--enabled=false
$ oc set image-lookup deploy/mysql --enabled=false