Kubernetes 教程

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/kubernetes-images.html

Kubernetes 镜像及其详解


Kubernetes (Docker) 镜像是容器化基础设施的重要构件组块。到目前为止,我们只支持 Kubernetes 来支持 Docker 镜像。pod 中的每个容器都在其中运行其 Docker 镜像。

当我们配置 pod 时,配置文件中的 image 属性与 Docker 命令的语法相同。配置文件有一个字段来定义镜像名称,我们计划从注册表中拉取它。

以下是将镜像从 Docker 注册表中拉取并部署到 Kubernetes 容器中的通用配置结构。

kind: pod
apiVersion: v1
metadata:
  name: Tesing_for_Image_pull -----------> 1
spec:
  containers:
    - name: neo4j-server ------------------------> 2
      image: <Name of the Docker image>----------> 3
      imagePullPolicy: Always ------------->4
      command: ["echo", "SUCCESS"] ------------------->

在上面的代码中,我们定义了:

  • name:“Tesing_for_Image_pull” 给出这个名称是为了识别和检查从 Docker 注册表中提取镜像后将创建的容器的名称。
  • name:“neo4j-server” 这是我们尝试创建的容器的名称。就像我们给了 “neo4j-server”。
  • image:<Name of the Docker image> - 这是我们试图从 Docker 或内部镜像注册表中拉取的镜像的名称。我们需要定义一个完整的注册表路径以及我们尝试拉取的镜像名称。
  • imagePullPolicyAlways - 表示此镜像拉取策略定义,每当我们运行此文件来创建容器时,它将再次拉取相同的名称。
  • command["echo", "SUCCESS"] - 这样,当我们创建容器时,如果一切正常,当我们访问容器时它会显示该条消息。

为了拉取镜像并创建容器,我们将运行以下命令:

kubectl create –f Tesing_for_Image_pull

一旦我们收到日志,我们将获得成功的输出:

kubectl log Tesing_for_Image_pull

上面的命令将产生一个成功的输出,或者我们将收到一个失败的输出。

Kubernetes(常简称为 K8s)是用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统,创建以容器为中 ...
Linux 的 file 命令用来查看指定文件的类型及相关信息。 ...
节点(node)是 Kubernetes 集群中的工作机器,也称为 minion。它们是工作单元,可以是物理、VM 或云实例。 ...
K8s 的 Namespace 是对一组资源和对象的抽象集合,命名空间为资源名称提供了额外的限定条件。当多个团队使用同一个集群并且存在名称冲 ...
Service 可以定义为一组逻辑上的 pod。它可以被定义为 pod 顶部的抽象,它提供了一个可以访问 pod 的 IP 地址和 DNS ...