我正在寻找一种在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。所以你能指出我正确的方向吗?
答案 0 :(得分:5)
您正在使用没有kubectl二进制文件的docker:dind
图片,您应该使用二进制文件自带图像或在过程中下载
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
答案 1 :(得分:1)
使用映像google/cloud-sdk
,该映像已预安装gcloud和kubectl。
build:
stage: build
image: google/cloud-sdk
services:
- docker:dind
script:
# Make gcloud available
- source /root/.bashrc