Kubernetes 镜像


Kubernetes (Docker) 镜像是容器化基础设施的关键构建块,截至目前,我们仅支持 Kubernetes 以支持 Docker 镜像,Pod 中的每个容器都有其 Docker 镜像在其中运行。

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

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

apiVersion: v1
kind: pod
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 registry中拉取镜像后创建的容器的名字是什么;

  • name:neo4j-server,这是尝试创建的容器的名称,就像给了neo4j-server一样;

  • image: 这是试图从 Docker 或镜像的内部注册表中拉取的镜像的名称,需要定义一个完整的注册表路径以及尝试提取的映像名称;

  • imagePullPolicy: Always,这个镜像拉取策略定义了每当运行这个文件来创建容器时,它都会再次拉取同名的;

  • command[“echo”,“SUCCESS”]: 这样,当创建容器时,如果一切正常,它会显示一条消息。

运行以下命令拉取镜像并创建容器:

$ kubectl create –f Tesing_for_Image_pull

获取日志后,将获得成功的输出:

$ kubectl log Tesing_for_Image_pull

上面的命令将产生一个成功或者失败的输出

注意: 建议大家自己尝试所有命令。