【问题标题】:how to deploy kubernetes application in EKS through Jenkins如何通过 Jenkins 在 EKS 中部署 kubernetes 应用程序
【发布时间】:2020-02-21 13:21:37
【问题描述】:

我正在尝试通过 Jenkins 在 AWS EKS 中部署 Kubernetes 应用程序。

我访问了几个博客,他们提到了 Jenkins X。但是 JenkinsX 需要单独配置。但按照说明,我们需要使用现有的 Jenkins 进行 K8S 应用部署。

注意:AWS EKS 和 Jenkins 是独立的机器(我们使用现有的 Jenkins)。我可能需要根据需求创建新的 EKS 环境。

请建议是否有任何可用于部署的 适用于 Jenkins 的 AWS EKS 插件

其他

有什么方法可以创建自定义 Bash 脚本(自动化脚本)以在 AWS EKS 中部署 K8S 应用程序

我的研究是:实际上 AWS 只为创建/管理集群提供 api/sdk 支持,而不是在 k8s 环境中部署应用程序(使用kubectl)。

可能创建集群我们可以通过 SDK 来完成。但是如何远程部署 k8s 应用程序(因为 Jenkins 在另一台机器上运行)。

【问题讨论】:

    标签: amazon-web-services jenkins kubernetes amazon-eks


    【解决方案1】:

    为什么不为 jenkins 配置 kubectl 并使用 kubectl apply deployment.yaml 命令部署应用程序?

    一旦你有了 kubectl 配置,你就可以将它保存为秘密文本。我有一个面试任务,这里是这种部署的一个例子: https://github.com/mtuktarov/hello

    它使用共享库: https://github.com/mtuktarov/hello-jenkins-lib

    【讨论】:

    【解决方案2】:

    最后我通过创建 Bash 自动化脚本完成了这个练习,步骤如下:

    1. 使用应用程序二进制文件创建 Docker 映像。

    2. 使用 eksctl create cluster <PARAM> 创建了 EKS 集群,该集群创建了 EKS 控制平面和 Worker 节点。

    3. 使用 Docker 映像创建 Kubernetes 部署文件并使用 kubectl apply <PARAM> 命令行进行部署。

    4. 使用kubectl expose <PARAM> cli 暴露了应用程序。

    来自 AWS EKS 服务的最新更新:

    AWS 最近宣布了使用 AWS 开发工具包创建 AWS EKS Worker 节点的支持。所以现在创建 EKS 环境可以使用 SDK 本身完成。

    ====================

    更新:

    现在 AWS 已支持通过 UI 和 AWS SDK 创建工作程序节点。 https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createNodegroup-property

    【讨论】:

    • 您是否在 Jenkins 代理上安装了任何软件包以使 Jenkins 代理与 EKS 集群通信?
    • 安装了“eksctl”,AWS 特别为 EKS 服务提供的命令行工具。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2021-09-02
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多