web-dev-qa-db-ja.com

gitlab ciでkubectlを機能させる

Gitlabでkubectlを使用する方法を探しています。

これまでのところ、次のスクリプトがあります。

deploy_to_dev:
  stage: deploy
  image: docker:dind
  environment:
    name: dev
  script:
    - mkdir -p $HOME/.kube
    - echo $KUBE_CONFIG | base64 -d > $HOME/.kube/config
    - kubectl config view
  only:
    - develop

しかし、それはgitlabがkubectlを知らないと言っています。だからあなたは私を正しい方向に向けることができますか?.

8
Tim Schwalbe

画像を使用google/cloud-sdkには、gcloudとkubectlがプリインストールされています。

build:
  stage: build
  image: google/cloud-sdk
  services:
  - docker:dind
  script:
  # Make gcloud available
  - source /root/.bashrc
4
Tobias Ernst

Kubectlバイナリのないdocker:dindimageを使用しています。独自のイメージをバイナリと一緒に持ってくるか、プロセス中にダウンロードする必要があります

deploy_to_dev:
  stage: deploy
  image: Alpine:3.7
  environment:
    name: dev
  script:
    - apk update  && apk add --no-cache curl
    - curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/AMD64/kubectl
    - chmod +x ./kubectl && mv ./kubectl /usr/local/bin/kubectl
    - mkdir -p $HOME/.kube
    - echo -n $KUBE_CONFIG | base64 -d > $HOME/.kube/config
    - kubectl config view
  only:
    - develop
12
jhernandez