帮酷LOGO
  • 显示原文与译文双语对照的内容
A faster way to deploy to Kubernetes!

  • 源代码名称:psykube
  • 源代码网址:http://www.github.com/psykube/psykube
  • psykube源代码文档
  • psykube源代码下载
  • Git URL:
    git://www.github.com/psykube/psykube.git
  • Git Clone代码到本地:
    git clone http://www.github.com/psykube/psykube
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/psykube/psykube
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Psykube 部署到Kubernetes的更快速的方法 !

    what || Assumptions Assumptions Assumptions Assumptions Assumptions Assumptions Assumptions Assumptions Playground Playground Commands Commands

    什么是 Psykube?

    Kubernetes是一个强大的系统,但是它有自己的学习曲线。 要部署单个应用程序,你必须熟悉一组概念。 例如单个 Hello World 应用程序可能由 DeploymentServiceIngress 清单文件组成。 Psykube旨在使你的应用程序配置统一到单个文件中,从而简化你的应用程序。

    对于上面的例子,你可能在 .psykube.yml 文件中期望类似的。

    psykube.yml
    name: hello-worldregistry_user: johndoeports:
     http: 8080ingress:
     tls: truehost: hello-world.example.com

    安装

    要求

    • kubectl 安装在你的系统上。
    • docker 安装在你的系统上。
    • git 安装在你的系统上。

    Homebrew 使用

    你可以通过运行 Homebrew 在OSX上安装 psykube:

    brew install psykube/tap/psykube

    二进制文件

    你还可以下载预先构建的二进制文件。

    版本

    版本 MATCH的主要。次要和修补程序组件,Pyskube使用的kubectl版本。 第四个组件跟踪Psykube特定的。 在这里单击以获得版本列表。

    Psykube YAML

    A 。psykube 。yml在每个应用程序的root 中都是必需的。 这可以用任何命令上的-f 或者 --file 标志来覆盖。

    模板变量

    psykube 。yml允许使用 {{var.name}} 模板语法扩展变量。 模板中提供了以下变量:

    Var描述
    metadata.namespace命令上的--namespace 标志提供的命名空间。
    metadata.cluster_name集群名称。
    metadata.name应用程序的NAME 。
    env.{name}由名称引用的环境变量。
    git.branch当前的git branch 。
    git.tag当前的git标签。
    git.sha当前的git sha 。
    示例变量用法
    ingress:
     host: {{metadata.namespace}}.k8s.example.com

    引用

    你可以在参考/。psykube中找到一个详细的例子。例如在示例目录中可以找到更多例子。

    集群假设

    Psykube在某些kubernetes设置中效果最好。

    正在启动

    在开始前
    此外,在本自述文件中我们参考了Kubernetes文档,这只是为了参考,主要目的是为了抽象出将应用程序部署到Kubernetes所需的文件清单的复杂性和维护。 当你开始学习Kubernetes对象时,我们可以放心你可以放心,psykube将为你生成所有这些文件。 ( 你可以看到。psykube文件通过检查我们的游乐场来翻译。)

    生成。psykube 。yml文件

    要开始使用 psykube,你可以运行 psykube init 命令。 然后你可以编辑在当前目录中生成的.psykube.yml 文件。

    name: hello-worldregistry_user: johndoe

    在你需要的时候,你可以在这里停下来,直接转到 deploying-an-application,或者继续做更详细的。

    将应用程序公开为服务

    尽管将一个应用程序部署到Kubernetes很好,但是除非它公开了 Kubernetes服务,否则实际上不能与它交互。 为此,我们必须做的就是分配端口,你指定的端口将同时成为容器端口和服务端口。 添加端口后,.psykube.yml 现在应该如下所示:

    name: hello-worldregistry_user: johndoeports:
     http: 8080
    更先进的服务定制。

    你还可以使用 Service 对象来做更多的高级服务定制。 例如你可能希望将服务的类型更改为 LoadBalancer 或者 Headless 服务,而不是默认的ClusterIP 。 例如,如果你想使服务成为一个 LoadBalancer,它使用外部IP公开它,你将执行以下操作。

    name: hello-worldregistry_user: johndoeservice:
     type: LoadBalancerports:
     http: 8080

    在你需要的时候,你可以在这里停下来,直接转到 deploying-an-application,或者继续做更多细节。

    分配应用程序记录的入口

    有时你需要的不仅仅是内部服务,而且你可能不想仅仅将你的服务公开为 LoadBalancer 。 这就是入口进场的地方。 如果集群具有入口控制器,那么它将使用由全局和集群对象生成的 Kubernetes输入记录。 ingres,要求应用程序拥有一个公开服务服务。 最简单的入口可能只包含一个主机名:

    name: hello-worldregistry_user: johndoeservice:
     type: LoadBalancerports:
     http: 8080ingress:
     host: my-app.com
    输入 TLS

    除了主机名之外,你可能希望将 tls/https添加到你的入口。 by进入ingress对象,psykube将自动生成一个证书,并添加一个注释,允许 kube lego使用生成一个免费的SSL证书,使用加密。

    高级入门规则

    如果应用程序的入口需要更多自定义,可以使用 hoststls 对象:

    name: hello-worldregistry_user: johndoeservice:
     type: LoadBalancerports:
     http: 8080ingress:
     tls:
     secret_name: my-app-certhosts:
     my-app.com:
     path: /

    部署应用程序

    一旦生成了 .psykube.yml,就应该能够立即使用 psykube apply <cluster_name> 命令部署。 调用命令将生成 Docker 容器,将它的推到指定的注册表,生成Kubernetes清单并将它们应用到适当的Kubernetes环境中。

    游乐场

    psykube目的主要是抽象出在Kubernetes上部署和管理应用程序所涉及的复杂性。 主要的组件是 .psykube.yml 文件如何转换为我们为kubernetes生成的文件。 你可以使用命令或者访问psykube.io 启动操场。

    命令

    psykube init

    在当前目录中生成。psykube 。yml 。

    用法:

    psykube init [flags...] [arg...]

    标志:长的默认描述
    --help显示当前命令的帮助。
    --env-e设置环境变量。
    --file-f./.psykube.ymlpsykube清单yml文件的位置。
    --host-h设置主机进入。
    --image-i设置图像,这优先于 --registry-host--registry-user
    --name-N当前目录名称设置用于部署的应用程序的NAME 。
    --namespace-N设置命名空间。
    --overwrite-ofalse如果文件存在则覆盖该文件。
    --port-p设置端口。( 可以是 --port 1234 或者 --port http=1234 格式) 。
    --registry-host-R注册表的主机名。 ( 如果不在 Docker 集线器上托管)
    --registry-user-U当前 Docker 用户注册表的用户名。
    --tls-tfalse为输入启用 TLS 。

    psykube generate

    生成kubernetes清单。

    用法:

    psykube generate [flags...] <cluster> [arg...]

    命令行参数说明
    cluster_name要为它的生成清单的群集的NAME 。
    标志:长的默认描述
    --help显示当前命令的帮助。
    --file-f./.psykube.ymlpsykube清单yml文件的位置。
    --namespace-N调用kubectl时要使用的命名空间。
    --image-i替代 Docker 图像。

    psykube apply

    应用kubernetes清单。

    用法:

    psykube apply [flags...] <cluster> [arg...]

    命令行参数说明
    cluster_name要为它的生成清单的群集的NAME 。
    标志:长的默认描述
    --help显示当前命令的帮助。
    --file-f./.psykube.ymlpsykube清单yml文件的位置。
    --namespace-N调用kubectl时要使用的命名空间。
    --image-i替代 Docker 图像。
    --build-args要添加到 Docker 生成中的生成 ARGS 。
    --build-contextDocker 生成的生成上下文。
    --dockerfile用于 Docker 生成的dockerfile 。
    --context-c为kubectl设置的当前上下文调用kubectl时要使用的上下文。
    --copy-namespace如果目标命名空间不存在,则复制指定的命名空间。
    --force-copyfalse复制名称空间,即使目标已经存在。
    --pushtrue构建并推送 Docker 映像。
    --resources-R复制命名空间要复制的资源类型。

    psykube push

    构建并推送 Docker 映像。

    用法:

    psykube push [flags...] [arg...]

    标志:长的默认描述
    --help显示当前命令的帮助。
    --file-f./.psykube.ymlpsykube清单yml文件的位置。
    --build-args要添加到 Docker 生成中的生成 ARGS 。
    --build-contextDocker 生成的生成上下文。
    --dockerfile用于 Docker 生成的dockerfile 。
    --tag-t要推送的附加标签。

    psykube playground

    开始操场。

    用法:

    psykube generate [flags...] [arg...]

    标志:长的默认描述
    --help显示当前命令的帮助。
    --bind-b127.0.0.1要绑定到的地址。
    --port-p8080要绑定到的端口。



    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语