nmx*_*mxl 5 kubernetes kubectl
按照文档和这个问题,我试图在使用kubectl创建部署时提取我使用docker在本地创建的图像。我正在寻找这样的东西,
kubectl create deployment first-k8s-deploy --image="laxman/nodejs/express-app" --image-pull-policy="never"
调查kubectl create deployment --help不提供任何--image-pull-policy选择。
是否有任何全局配置来设置 imagePullPolicy 以及如何仅为某些特定部署设置此标志?
您可能已经超越了使用命令行可以完成的工作。有关如何在 yaml 文件中指定部署的信息,请参阅创建部署。
该imagePullPolicy是部分集装箱的定义。
您可以kubectl通过添加-o yaml --dry-run到命令来获取任何命令的 yaml 。使用您的示例部署:
kubectl create deployment first-k8s-deploy \
--image="laxman/nodejs/express-app" \
-o yaml \
--dry-run
Run Code Online (Sandbox Code Playgroud)
给你:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: first-k8s-deploy
name: first-k8s-deploy
spec:
replicas: 1
selector:
matchLabels:
app: first-k8s-deploy
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: first-k8s-deploy
spec:
containers:
- image: laxman/nodejs/express-app
name: express-app
resources: {}
Run Code Online (Sandbox Code Playgroud)
然后将该imagePullPolicy属性添加到列表中的容器中:
spec:
containers:
- image: laxman/nodejs/express-app
name: express-app
resources: {}
imagePullPolicy: Never
Run Code Online (Sandbox Code Playgroud)
然后可以使用以下命令部署您创建的 yaml 文件
kubectl apply -f <filename>
可以使用 cli指定--image-pull-policy单个。pod
因此您可以使用以下命令创建并运行pod:
kubectl run PODNAME --image='laxman/nodejs/express-app' --image-pull-policy='Never'
您可以通过执行查看其他示例和详细说明,并且可以在此处kubectl run --help获取文档。
就像我说的,这适用于pods如果您添加选项--generator=deployment/v1beta1它将创建一个部署。从 Kubernetes 1.18 拉取请求被批准并合并开始,这将被弃用。
| 归档时间: |
|
| 查看次数: |
5343 次 |
| 最近记录: |