【问题标题】:Set up Jenkins,Docker, Kubernetes ci/cd on Azure在 Azure 上设置 Jenkins、Docker、Kubernetes ci/cd
【发布时间】:2018-10-05 18:54:59
【问题描述】:

我想用 Jenkins、Docker、Kubernetes 在 Azure 上创建 CI/CD,从简单开始。

我已经完成了 Voting-app 教程 教程:为 Azure 容器服务 (AKS) 准备应用程序 Azure tutorial 该教程包含以下步骤:

1 - 为 AKS 2 准备应用程序 - 创建容器注册表 ACS 3 - 创建 Kubernetes 集群 4 - 运行应用程序

应用程序正在运行。

我想做的下一步是集成 Jenkins。我正在按照教程使用 Jenkins 和 Azure 容器服务进行持续部署我无法按照教程进行操作,因为它太高级了,无法理解文件中的命令。比如他们使用deploy-jenkins-vm.sh文件部署jenkins的方式

我没有这样做,而是去了 Azure 上的市场并创建了“Jenkins”,并通过 Azure UI 设置了配置。 Jenkins 现在在 localhost:8080 上运行

从另一个视频教程 Hands-on Docker, Jenkins CI/CD Azure 我将集群 kubeconfig 共享到我的远程 jenkins 主机:

$ sudo scp ~/.kube/config anjenkins@jenkins9999.australiaeast.cloudapp.azure.com:/var/lib/jenkins/config

成功了。

然后,他们从同一个视频教程中运行一个 bash 文件

#!/bin/bash
# Jenkins Bootstrap for ACS Kubernetes
set -x #echo on
wget https://raw.githubusercontent.com/mekenthompson/kubectl/master/kubectl -O ~/kubectl
chmod +x kubectl
sudo cp kubectl /usr/local/bin/kubectl
sudo mkdir /home/tomcat/.kube
sudo cp config /home/tomcat/.kube/config
sudo chown -R tomcat:tomcat /home/tomcat/.kube
sudo usermod -aG docker tomcat
sudo /opt/bitnami/ctlscript.sh restart
set +x #echo off

来自存储库here。对我没用

+ chmod +x kubectl
+ sudo cp kubectl /usr/local/bin/kubectl
+ sudo mkdir /home/tomcat/.kube
mkdir: cannot create directory '/home/tomcat/.kube': No such file or directory
+ sudo cp config /home/tomcat/.kube/config
cp: cannot stat 'config': No such file or directory
+ sudo chown -R tomcat:tomcat /home/tomcat/.kube
chown: invalid user: 'tomcat:tomcat'
+ sudo usermod -aG docker tomcat
usermod: group 'docker' does not exist
+ sudo /opt/bitnami/ctlscript.sh restart
sudo: /opt/bitnami/ctlscript.sh: command not found
+ set +x

但我的问题是,在我将 de kubeconfig 共享到我的 jenkins 远程主机之后,下一步是什么。我只是复制和粘贴,但不知道发生了什么

在我看来,这些教程太高级了,我不知道发生了什么,或者应该做什么。

从 Azure 投票教程他们有另一个文件,用于设置 Jenkins config-jenkins.sh,但我也不知道需要做什么

我到底应该做什么,你知道其他资源或链接吗?

我已经有了 jenkins、一个 Azure 容器注册表、Azure 容器服务和投票应用程序。

【问题讨论】:

  • 你需要创建docker和tomcat用户。用户及其主目录不存在。并使用 bash 运行该脚本,如果它的 bash 脚本..
  • /home/tomcat/.kube 目录应该在我的本地文件上? docker usermod 怎么样:组 'docker' 不存在,我应该在哪里创建组 docker
  • @JogendraKumar 在这种情况下,我可以使用来自 github.com/Azure-Samples/azure-voting-app-redis/blob/master/ 的命令…#Docker、#Azure CLI、#Kubectl , 和#Configure 访问....够了吗?
  • 我们必须创建运行该脚本的用户。我还没有阅读你是跟进的文件。这是用户需要的脚本。
  • 现在正在工作,从 azure 学习教程更容易。

标签: azure docker jenkins kubernetes


【解决方案1】:

我们正在开发一个名为 Jenkins X 的开源项目,这是 Jenkins 基金会提出的一个子项目,旨在使用 Jenkins 管道和 GitOps 在 Kubernetes 上实现 CI/CD 自动化,以便跨环境进行推广。

如果您想了解如何使用 GitOps 在 Kubernetes 上的多个环境中实现 CI/CD 自动化,以便在环境之间进行升级,并在 Pull Requests 上预览环境,您可能想查看my recent talk on Jenkins X at DevOxx UK,我在 GKE 上进行了现场演示。虽然 Jenkins X 在 AWS, AKS and GKE and other kubernetes clusters too 上工作。

【讨论】:

    猜你喜欢
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 2018-01-19
    • 2018-10-16
    • 1970-01-01
    相关资源
    最近更新 更多