How to integrate Kubernetes with Gitlab

后端 未结 1 1122
攒了一身酷
攒了一身酷 2021-01-03 01:15

I\'m trying to integrate Kubernetes cluster with Gitlab for using the Gitlab Review Apps feature.

  • Kubernetes cluster is created via Rancher 1.6
  • Runnin
相关标签:
1条回答
  • 2021-01-03 01:42

    I'm also dying out with kubernetes and GitLab. I've created a couple single-node "clusters" for testing, one with minikube and another via kubeadm.

    I answered this question on the GitLab forum but I'm posting my solution below:

    API URL

    According to the official documentation, the API URL is only https://hostname:port without trailing slash

    List secrets

    First, I listed the secrets as usual:

    $ kubectl get secrets
    NAME                           TYPE                                  DATA      AGE
    default-token-tpvsd            kubernetes.io/service-account-token   3         2d
    k8s-dashboard-sa-token-XXXXX   kubernetes.io/service-account-token   3         1d
    

    Get the service token

    $ kubectl -o json get secret k8s-dashboard-sa-token-XXXXX | jq -r '.data.token' | base64 -d
    eyJhbGci    ... sjcuNA8w
    

    Get the CA certificate

    Then I got the CA certificate directly from the JSON output via jq with a custom selector:

    $ kubectl -o json get secret k8s-dashboard-sa-token-XXXXX | jq -r '.data."ca.crt"' | base64 -d - | tee ca.crt
    -----BEGIN CERTIFICATE-----
    MIICyDCCAbCgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl
    ...        ...        ...        ...        ...        ...      
    FT55iMtPtFqAOnoYBCiLH6oT6Z1ACxduxPZA/EeQmTUoRJG8joczI0V1cnY=
    -----END CERTIFICATE-----
    

    Verity the CA certificate

    With the CA certificate on hand you can verify as usual:

    $ openssl x509 -in ca.crt -noout -subject -issuer
    subject= /CN=kubernetes
    issuer= /CN=kubernetes
    
    $ openssl s_client -showcerts -connect 192.168.100.20:6443 < /dev/null &> apiserver.crt
    
    $ openssl verify -verbose -CAfile ca.crt apiserver.crt
    apiserver.crt: OK
    
    0 讨论(0)
提交回复
热议问题