我有这个正在工作...
{
"data": {
"allEmployees": {
"nodes": [
{
firstName: 'Russell'
lastName: 'Dodds'
tags: ['teamplayer', 'punctual']
},
{
firstName: 'Emma'
lastName: 'Samsin'
tags: ['teamplayer']
}
]
}
}
}
我可以按预期访问端点。现在,我正在尝试使用.yml文件进行这样的部署...
# Set docker env
eval $(minikube docker-env)
# Build image
docker build -t jrg/hw .
# Run in minikube
kubectl run hello-world --image=jrg/hw:latest --image-pull-policy=Never --port=8080
kubectl expose deployment hello-world --type=NodePort --name=hello-service
但是当我运行apiVersion: v1
kind: Pod
metadata:
name: hello-world-dev
labels:
purpose: simple
spec:
containers:
- name: hello-world-dev-container
image: jrg/hw:latest
env:
- name: WORKING
value: "Yup Working"
时,我得到...
kubectl apply -f k8s/ineject/dev.envvars.yml
那么为什么有人可以看到我的本地docker来获取图像,而1却有问题呢?
答案 0 :(得分:0)
在有关Pre-pulling Images的文档中,我们可以阅读:
默认情况下,kubelet将尝试从指定的注册表中提取每个图像。但是,如果容器的
imagePullPolicy
属性设置为IfNotPresent
或Never
,则将使用本地图像(分别为优先或排他)。
也请在Container Images文档中查看带有imagePullPolicy
的其他选项。
imagePullPolicy尝试提取指定的图像时,图像的kubelet和标签会受到影响。
imagePullPolicy: IfNotPresent
:仅在本地不存在图像时才将其拉出。
imagePullPolicy: Always
:每次启动广告连播时都会拉动图像。
imagePullPolicy
被省略,图像标签为:latest
或被省略:Always
被应用。
imagePullPolicy
被省略并且存在图像标签,但没有:latest
:IfNotPresent
被应用。
imagePullPolicy: Never
:假定图像在本地存在。没有尝试拉图像。