【问题标题】:Run e2e test with simulation of k8s使用 k8s 模拟运行 e2e 测试
【发布时间】:2019-07-11 08:28:02
【问题描述】:

我们想为我们在 k8s 上的应用程序创建 e2e 测试(集成测试)并且我们想使用 minikube,但似乎 minikube 没有适当的(维护的或官方的)docker 文件。至少 我没有找到任何...此外我看到 k3s 并不确定在 k8s 上运行 e2e 测试哪个更好?

我找到了这个 docker 文件,但是当我构建它时失败并出现错误

https://aspenmesh.io/2018/01/building-istio-with-minikube-in-a-container-and-jenkins/

e - –no-install-recommends error

有什么想法吗?

【问题讨论】:

    标签: docker kubernetes minikube k3s


    【解决方案1】:

    目前还没有官方方法可以在容器中运行 minikube。这是来自 minikube 的一位贡献者的两个月大的 quote

    它在路线图上。目前,它是基于虚拟机的。

    如果您决定使用包含 minikube 的 VM 映像,这里有一些指导如何操作。这里有一个叫“Using Minikube as part of your CI/CD flow ”。

    另外,还有一个由 Canonical 支持的名为 MicroK8S 的项目。在 2 月份的 Kubernetes 播客 ep. 39 中,Dan Lorenc 提到了这一点:

    MicroK8s 真的很令人兴奋。这是基于最近 Ubuntu 发行版的一些新功能,让您以独立的方式运行 Kubernetes 环境,而无需使用虚拟机。因此,如果您碰巧使用其中一个 Ubuntu 发行版并且可以利用这些功能,那么我肯定会推荐 MicroK8s。

    我不认为他指的是在容器中运行 minikube,但我不完全确定:我会进入一个 Ubuntu 容器,尝试将 microk8s 作为一个包安装,然后看看会发生什么。

    也就是说,除非有令人信服的理由要在容器中运行 kubernetes,并且准备好花时间去可能的兔子洞——我认为这些天在 VM 中运行 minikube、k3s 或 microk8s 应该是如果您想相对快速地启动并运行 CI/CD 管道,这是最安全的选择。

    【讨论】:

    • 谢谢,你写的“在虚拟机中运行 minikube、k3s 或 microk8s 应该是最安全的选择”,你是指 travis 还是 circleci?
    • @RaynD 是的,我的意思是 travis 或 circleci。或者甚至是在 GCP / AWS 中运行 minikube 的专用实例。上面链接的文章“将 Minikube 用作 CI/CD 流程的一部分”有一个完整的 CircleCI 配置示例可供研究。
    【解决方案2】:

    关于从这个特定的 Dockerfile 构建映像时遇到的问题...

    我找到了这个 docker 文件,但是当我构建它时失败并出现错误

    https://aspenmesh.io/2018/01/building-istio-with-minikube-in-a-container-and-jenkins/

    e - --no-install-recommends 错误

    有什么想法吗?

    注意:

    --no-install-recommends install
    

    –no-install-recommends install
    

    是两个完全不同的字符串。这样你得到的错误:

    E: Invalid operation –no-install-recommends
    

    是您从 here 复制 Dockerfile 内容的结果,您应该从 github 复制它(您甚至可以单击 raw 按钮以 100% 确保您复制完全纯文本而不任何其他格式、更改的编码等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      相关资源
      最近更新 更多