gitlab 通过变量连接自建K8S

这篇具有很好参考价值的文章主要介绍了gitlab 通过变量连接自建K8S。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

services:
  - docker:19.03.7-dind
  - golang:1.17.8-alpine3.15
  - docker:stable
stages:
  - package
  - build and push docker image
  - deploy
variables:
  KUBECONFIG: /etc/deploy/config
build:
  tags:
    - k8s
  image: golang:1.17.8-alpine3.15
  stage: package
    # 只作用在main分支
  only:
    - main
  script:
    - export GO111MODULE=on
    - export GOPROXY=https://goproxy.cn
    - go mod init app
    - go mod tidy
    - go build .
docker build:
  tags:
    - k8s
  variables:
    DOCKER_HOST: tcp://0.0.0.0:2375
    DOCKER_TLS_CERTDIR: ""

  image: docker:stable
  stage: build and push docker image
  # 只作用在main分支
  only:
    - main
  script:
    - docker build -t test:v01 .

deploy:
  tags:
    - k8s
  image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
  stage: deploy

  script:
    - mkdir -p /etc/deploy
    - echo $kube_config |base64 -d > $KUBECONFIG
    - kubectl  get pods -n gitlab

KUBECONFIG: /etc/deploy/config 是一个变量定义,在gitlab的ci/cd 控制台配置 ,它指定了将要创建的文件路径。这个变量的目的是为了方便在后续的阶段中使用。
在 deploy 阶段的脚本中,可以看到以下命令:
mkdir -p /etc/deploy
echo $kube_config | base64 -d > $KUBECONFIG
kubectl get pods -n gitlab
这里的目的是将 $kube_config 的值进行 Base64 解码,并将解码后的内容写入到 /etc/deploy/config 文件中.后续的 kubectl 命令就能够使用这个文件来获取正确的 Kubernetes 配置信息。
因此,创建 KUBECONFIG: /etc/deploy/config 变量的目的是为了在后续的部署阶段中使用该文件路径,以便正确设置 Kubernetes 配置并执行相关操作。这样做可以更好地组织代码,并提高可读性和可维护性。

也可以使用以下方法,但是可读性脚差文章来源地址https://www.toymoban.com/news/detail-715931.html

deploy:
  tags:
    - k8s
  image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
  stage: deploy
  script:
    - echo $kube_config | base64 -d > /tmp/config.yaml
    - kubectl --kubeconfig /tmp/config.yaml get pods -n gitlab

到了这里,关于gitlab 通过变量连接自建K8S的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 应对突发流量,如何快速为自建 K8s 添加云上弹性能力

    作者:庄宇 以 Kubernetes 为代表的容器技术带来的是一种应用交付模式的变革,其正迅速成为全世界数据中心的统一 API。 为了保证业务持续稳定、用户访问不中断,高可用、高弹性等能力是应用架构设计不变的追求,多集群架构天然具备这样的能力。而只有在 Kubernetes 这层统

    2024年02月16日
    浏览(29)
  • 从业务出发,K8S环境自建和非自建整体架构设计比较

    新钛云服已累计为您分享 751 篇技术干货 随着数字化转型的大潮到来,越来越多的企业开始上云,同时也纷纷加入到微服务和K8S队伍中。但在K8S整体环境究竟应该用自建的还是非自建?以及他们需要用到的服务,究竟应该自建还是直接用PAAS服务?这些问题往往会困扰住大家。

    2024年02月09日
    浏览(31)
  • rustdesk自建服务器总是掉线 未就绪, 请检查网络连接

    在自建服务器时, 如果服务器的IP是内网,通过openwrt路由器端口转发(21115-21119 UDP/TCP), 此时客户端刚启动能连上, 过会儿就掉线了, 再过会儿又连上了, 这样往复。而且有时明明看到客户端是掉线的,却也能连,但被连客户端必须是在线的。 目前我发现OPENWRT路由器端口转发

    2024年02月13日
    浏览(145)
  • 自建CA证书以及导入到浏览器实现https安全连接

    安装 openssl(一般centos 系统都会自带安装好的了) 目录:/etc/pki/CA/ yum install openssl openssl-devel -y mkdir -pv /etc/ssl/private 由于谷歌浏览器对安全比较高要求,所以需要额外配置 [root@localhost data]# vim http.ext keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, client

    2024年02月10日
    浏览(41)
  • K8S部署GitLab

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 在k8s中部署gitlab,然后使用gitlab来实现代码打包到打镜像再到使用镜像自动生成容器服

    2024年01月22日
    浏览(30)
  • 2-远程升级篇(自建物联网平台)-STM32通过EC800使用http或https下载程序文件升级程序(APP通过MQTT控制单片机更新)

    1,用户在APP上点击 \\\"固件升级\\\" 按钮, APP使用MQTT发送:  {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\"} //询问设备固件信息 2,设备通过MQTT收到该消息以后,发送 {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\",\\\"DeviceModel\\\":\\\"STM32EC800BKAPP\\\",\\\"FirmwareVersion\\\":\\\"0.0.0\\\"} (STM32EC800BKAPP是设备的型号;  0.0.0是设备当前的固件版本) 3,APP收到

    2024年04月16日
    浏览(134)
  • 【devops】非必要 不要自建harbor 能力不足 真的被坑的服了 阿里云ACR不香吗?k8s接入ACR

    首先你需要让出来这2个端口,然后如果你要https的话,你还要考虑443怎么配置上不同证书(目前我是不清楚这里可不可以) 而且能让这里生效的方式,还需要再2处进行修改(自行查找) 我在阿里云一次买了5台服务器 选择其中一个创建了harbor 然后再其他4台中,有三台是可以

    2023年04月09日
    浏览(38)
  • k8s1.26.6 安装gitlab

    Gitlab官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装,但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置,所以我们这里使用自定义的方式来安装,也就是自己来定义一些资源清单文件。 Gitlab主要涉及到3个应用:Redis、Postgresql、Gitlab 核心程序,实际上

    2024年02月14日
    浏览(34)
  • 通过manifest清单导入项目到gitlab中

    从gitlab 11.2引入此功能。 GitLab 允许根据manifest清单文件(如 Android 存储库使用的清单文件)导入所需的 Git 存储库。 GitLab 必须对其数据库使用 PostgreSQL。 至少是要导入到的目标组上的维护者角色。将开发人员角色用于此目的已在 GitLab 15.8 中弃用,并将在 GitLab 16.0 中删除。

    2024年01月19日
    浏览(36)
  • git配置连接gitlab

    1、查看版本号(cmd) git --version 2、配置并查看git本地配置账号邮箱 $ git config --global user.name \\\"hd\\\" $ git config --global user.email \\\"hd@qq.com\\\" 查看配置信息 查看全部 $ git config -l 查看账号 $ git config user.name 配置本地账号邮箱: $ git config user.email 查看本地电脑有配置文件  C:Usershd.git

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包