【问题标题】:No YAML Files in K8s DeploymentK8s 部署中没有 YAML 文件
【发布时间】:2020-07-30 21:51:09
【问题描述】:

TLDR:我对 K8s 的了解是,您需要大量的 yaml 文件,但是,我刚刚将一个应用程序部署到了一个包含 0 个 yaml 文件的 K8s 集群,并且成功了。这是为什么?当应用没有任何 yaml 文件设置时,谷歌云或 K8s 是否有默认值?

更长:

  • 我有一个 dockerized spring 应用程序,我将它部署到我通过 UI 创建的谷歌云集群。
  • 那里有 0 个 yaml 文件,所以我预计 kubectl deploy 会失败,但是,它成功了,我的无状态应用程序在那里运行。
  • 这是如何工作的?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    好吧,gcp 在后台为您创建。我假设您将 docker 映像或 CI 推送到集群,然后从那里您只需单击几下,对吗?您可以在 openshift 环境中执行相同的操作。但在后台生成 yaml 文件。如果您在 UI 上编辑 pod,您将看到该 yaml 文件。

    如上所述,@Volodymyr Bilyachat 说您可以通过象征性方式或使用声明性方式(yaml)创建部署。我建议始终使用声明方式。

    你可以看到你从 UI 创建的部署 yaml 文件

    kubectl get deployment <deployment_name> -o yaml
    
    kubectl get deployment <deployment_name> -o yaml > name.yaml      #This will output your yaml file into name.yaml file
    

    【讨论】:

      【解决方案2】:

      您可以使用简单的命令运行您的容器/pod。

      kubectl run podname --image=name
      

      正如你所说的 0 个 yaml 文件。但是这些文件的主要思想是将它们推送到源代码管理并使用 CI/CD 通过不同的环境运行测试它们。

      yaml 文件的其他好处是您可以共享配置,其他人无需编写任何内容即可创建基础架构。以下是如何使用一个命令运行 elasticsearch 的示例

      kubectl apply -f https://download.elastic.co/downloads/eck/1.2.0/all-in-one.yaml
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-13
        • 1970-01-01
        • 2019-08-01
        • 2020-12-07
        • 2022-01-17
        • 1970-01-01
        • 2020-11-26
        • 2021-10-19
        相关资源
        最近更新 更多