创建一个nginx示例


    本章节将从创建应用、部署应用、配置网络、配置域名等操作,让读者能够学会使用Choerodon搭建一个最简单的nginx。

    1. 在操作之前保证系统配置已经配置完全。

    2. 在本章节用到的角色、网络和域名、环境管理等已配置完全。

    第一步: 点击左侧菜单栏,选择应用管理,点开应用。

    第二步: 点击创建应用(确保已拥有该权限)。输入编码和名称,选择空模板。更多相关信息以及详细操作步骤参考或者创建后端应用

    第三步: 创建成功后会出现应用的 gitlab 地址。

    第四步: 点进该链接,把代码仓库克隆至本地。然后在项目根目录下添加 Dockerfile 文件,内容如下:

    在项目根目录下添加 .gitlab-ci.yml 文件,内容如下:

    1. stages:
    2. - chart_build
    3. chart_build:
    4. stage: chart_build
    5. script:
    6. - docker login -u ${DOCKER_USER} -p ${DOCKER_PWD} ${DOCKER_REGISTRY}
    7. - docker build --pull -t ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG} .
    8. - docker push ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${CI_COMMIT_TAG}
    9. - chart_build
    10. .auto_devops: &auto_devops |
    11. http_status_code=`curl -o .auto_devops.sh -s -m 10 --connect-timeout 10 -w %{http_code} "${CHOERODON_URL}/devops/ci?token=${Token}"`
    12. if [ "$http_status_code" != "200" ]; then
    13. cat .auto_devops.sh
    14. exit 1
    15. fi
    16. source .auto_devops.sh
    17. before_script:
    18. - *auto_devops

    在项目根目录下创建 chart/nginx 文件夹目录,注意这里的 nginx 要与应用名相同,若不同这以应用名为准,即 chart/应用名 为目录。在 chart/nginx 目录下创建 Chart.yaml 文件,内容如下:

    在 chart/nginx 目录下创建 .helmignore 文件,内容如下:

    1. # Patterns to ignore when building packages.
    2. # This supports shell glob matching, relative path matching, and
    3. # negation (prefixed with !). Only one pattern per line.
    4. .DS_Store
    5. # Common VCS dirs
    6. .git/
    7. .gitignore
    8. .bzr/
    9. .hg/
    10. .hgignore
    11. # Common backup files
    12. *.swp
    13. *.bak
    14. *.tmp
    15. *~
    16. # Various IDEs
    17. .project
    18. .idea/
    19. *.tmproj

    在 chart/nginx 目录下创建 values.yaml 文件,内容如下:

    1. {{- define "service.labels.standard" -}}
    2. choerodon.io/release: {{ .Release.Name | quote }}
    3. {{- end -}}
    4. {{- define "service.logging.deployment.label" -}}
    5. choerodon.io/logs-parser: {{ .Values.logs.parser | quote }}
    6. {{- end -}}
    7. {{- define "service.monitoring.pod.annotations" -}}
    8. choerodon.io/metrics-group: {{ .Values.metrics.group | quote }}
    9. choerodon.io/metrics-path: {{ .Values.metrics.path | quote }}
    10. {{- end -}}

    在 templates 目录下创建 deployment.yaml 文件,内容如下:

    在 templates 目录下创建 configmap.yaml 文件,内容如下:

    1. apiVersion: v1
    2. kind: ConfigMap
    3. metadata:
    4. name: {{ .Release.Name }}-cm
    5. data:
    6. index.html: |
    7. <!DOCTYPE html>
    8. <html>
    9. <head>
    10. <title>Welcome to nginx!</title>
    11. <style>
    12. body {
    13. margin: 0 auto;
    14. font-family: Tahoma, Verdana, Arial, sans-serif;
    15. }
    16. </style>
    17. </head>
    18. <body>
    19. <h1>Verison:{{ .Chart.Version | quote }}</h1>
    20. <p>If you see this page, the nginx web server is successfully installed and
    21. working. Further configuration is required.</p >
    22. <p>For online documentation and support please refer to
    23. <a href=" ">nginx.org</a >.<br/>
    24. Commercial support is available at
    25. <a href="http://nginx.com/">nginx.com</a >.</p >
    26. <p><em>Thank you for using nginx.</em></p >
    27. </body>
    28. </html>

    最后,将代码push到远程仓库,等待ci跑完就可以部署这个应用了。

    创建一个nginx示例 - 图2

    确保镜像打包成功。

    第五步: 进行应用部署。更多相关信息以及详细操作步骤参考。

    • 使用项目所有者或已被分配目标环境权限的项目成员角色的角色登录Choerodon系统,选择项目。

    • 进入部署流水线模块,选择应用部署 进入应用部署界面。

    • 选择应用,按照步骤条完成信息选择。选择新建实例。如果此应用在该环境中已有部署的实例,则可以选择替换实例,替换实例会更新该实例的镜像及配置信息,未修改配置信息或版本相同不可选择替换实例。

    • 点击部署按钮后,页面自动跳转到实例页面。

    第六步: 创建成功后,前往 网络 界面,为刚刚部署好的应用创建网络。更多相关信息以及详细操作步骤参考配置网络和域名

    • 进入部署流水线模块,选择网络

    • 点击创建网络按钮,输入信息,创建网络。

    创建一个nginx示例 - 图4

    • 添加端口号。

    • 网络创建成功,可在部署流水线 -> 网络页面查看创建的网络。第七步: 网络创建成功后,前往 域名 界面,为创建的网络绑定域名。更多相关信息以及详细操作步骤参考。

    • 使用项目所有者或已被分配目标环境权限的项目成员角色的角色登录Choerodon系统,选择项目。

    • 进入部署流水线模块,选择域名

    • 点击创建域名按钮 ,输入信息,创建域名。

    • 域名创建成功,可在部署流水线 -> 界面查看已创建的域名。

    查看域名

    • 绑定完成,访问该域名,出现下面结果即说明创建 nginx 成功。