我有以下由Dockerfile文件创建的图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
ruby/lab latest f1903b1508cb 2 hours ago 729.6 MB
我有以下YAML文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ruby-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: ruby
spec:
containers:
- name: ruby-app
image: ruby/lab
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4567
当我创建部署时,我在窗格中获得了以下信息:
ruby-deployment-3830038651-sa4ii 0/1 ImagePullBackOff 0 7m
ruby-deployment-3830038651-u1tvc 0/1 ImagePullBackOff 0 7m
并且错误无法拉取图像“红宝石/实验室:最新”:错误:从下面找不到图像红宝石/实验室
:
8m 2m 6 {kubelet minikube} spec.containers{ruby} Normal Pulling pulling image "ruby/lab:latest"
8m 2m 6 {kubelet minikube} spec.containers{ruby} Warning Failed Failed to pull image "ruby/lab:latest": Error: image ruby/lab not found
8m 2m 6 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "ruby" with ErrImagePull: "Error: image ruby/lab not found"
真的有必要在docker中为此注册吗?我只想在本地进行测试,并将我的代码/存储库传递给朋友以进行测试
谢谢
要在不上传的情况下使用图像,您可以按照以下步骤操作:因为您正在设置环境变量,所以在同一个shell中很重要!
AFAIR迷你库贝在VM中运行,因此它不会看到您在主机上本地构建的图像,但是...如 https://github.com/kubernetes/minikube/blob/master/docs/reusing_the_docker_daemon.md 您可以使用eval $(迷你库贝泊坞站env)
来实际利用在迷你库贝上运行的码头工人守护进程,并从此在迷你库贝斯泊床上构建您的映像,从而期望它可用于迷你库贝斯k8s引擎,而无需从外部注册表中提取
您可以通过运行将docker客户端指向VM的docker守护程序
eval $(minikube docker-env)
然后您就可以正常地构建您的映像,并使用kubectl正常地创建您的kubernetes资源。确保你有
imagePullPolicy: IfNotPresent
在您的YAML或JSON规范中。
此外,还有一个标志将不安全的注册表传递给minikube VM。但是,这必须在第一次创建机器时指定。
minikube start --insecure-registry
当使用私人注册http://kubernetes.io/docs/user-guide/images/时,您可能也想阅读此信息
我已经安装了火花图表在我的k8s集群掌舵,我有3个豆荚运行1个主和2个执行,但仍然能够提交火花作业...在“提交应用程序”一节https://github.com/bitnami/charts/tree/master/bitnami/spark中提到我们可以使用。/bin/spark-submit--class org.apache.spark.examples.sparkpi--master s
编辑:问题解决了,这是我的错误,我只是使用了错误的cron设置。我假设“*2***”在2点时每天只运行一次,但实际上它在2点后每分钟运行一次。所以Kubernetes的行为是正确的。 我一直在一个 cron 执行点运行多个作业。但似乎只有当这些作业的运行时间非常短时。知道为什么会发生这种情况以及如何防止它吗?我使用策略:禁止,和。 一个cron作业的示例,该作业应该每天运行一次,但在其预定运行时间
如果您有一个Kubernetes集群,或者仅仅是运行Minikube,则将Linkerd部署为服务网格是开始的最快方式。它不仅部署非常简单,还适用于大多数生产用例,提供服务发现,仪器仪表,智能客户端负载均衡,熔断器和开箱即用的动态路由。 Linkerd服务网格被部署为Kubernetes DaemonSet,在集群的每个节点上运行一个Linkerd pod。在Kubernetes中运行的应用程序可
我对库伯内特斯集群管理非常陌生。我已经完成了库伯内特斯集群设置,有2个节点启动并运行。所以为了开始,我决定在集群上运行NodeBB应用程序。所以我没有构建自己的映像,而是在Docker HUb上获得了官方的NodeBB docker容器 所以为了从那个容器启动NodeBB,我向库伯内特斯master发射了命令。 等待一段时间后,它启动了具有两个副本的容器。但问题是它不断重新启动我的容器。 知道为什
我有一个后端nodeJS应用程序运行在kubernetes集群。现在我想运行两个cron作业计划每个月。cron作业在一个JS文件中。如何使用库伯内特斯创建一个作业,在每个月运行该服务的pod中运行这些JS文件? 此链接提供了对其工作原理的基本理解,但我对如何为特定服务和特定Pod运行它有点困惑 https://kubernetes.io/docs/concepts/workloads/contr