{"id":43712,"date":"2023-03-19T13:34:09","date_gmt":"2022-12-12T05:28:50","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/"},"modified":"2024-04-29T19:35:23","modified_gmt":"2024-04-29T11:35:23","slug":"%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/","title":{"rendered":"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart"},"content":{"rendered":"<p>\u8c37\u6b4c\u4e91\u5e73\u53f0\u5e02\u573a\uff08Beta\u7248\uff09\u5df2\u7ecf\u53d1\u5e03\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc73\u6b21\u70b9\u51fb\u5373\u53ef\u5b89\u88c5GitLab Helm Chart\u3002<\/p>\n<p>\u867d\u7136\u6709\u70b9\u8f7b\u677e\uff0c\u4f46\u6211\u60f3\u8fd9\u6b21\u6211\u60f3\u624b\u52a8\u5c1d\u8bd5\u4e00\u4e0b\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d541937434c4406cd1b45\/3-0.jpeg\" alt=\"tanukiinsnow.jpg.838x0_q80.jpg\" \/><\/div>\n<h1>\u63d0\u524d\u51c6\u5907<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Google Cloud Platform\u3067Project\u3092\u4f5c\u6210<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Project\u306bKubernetes API\u3092\u6709\u52b9\u5316<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">gcloud<\/ul>\n<\/li>\n<\/ul>\n<p>gcloud auth login\u3067\u8a8d\u8a3c<br \/>\nChart\u306e\u30ec\u30dd\u30b8\u30c8\u30ea\u3092clone<br \/>\nMac OS\u306e\u5834\u5408\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5fae\u4fee\u6b63\u304c\u5fc5\u8981<\/p>\n<h1>\u6784\u5efaGKE\u96c6\u7fa4<\/h1>\n<p>\u53ea\u6709GitLab\u662f\u6700\u4e13\u6ce8\u7684\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\uff0c\u5e76\u4e14\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u6784\u5efa\u96c6\u7fa4\u7684\u5de5\u5177\u3002<\/p>\n<p>\u8fd9\u6b21\u7279\u5730\u9009\u62e9\u624b\u52a8\u64cd\u4f5c\uff0c\u4e0d\u4f7f\u7528\u811a\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> gcloud auth login\r\n\r\n<span class=\"gp\">&gt;<\/span> gcloud config <span class=\"nb\">set <\/span>project bakeneco-211008\r\n<span class=\"go\">Updated property [core\/project].\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> gcloud beta container clusters create <span class=\"s2\">\"bakeneco\"<\/span> <span class=\"nt\">--username<\/span> <span class=\"s2\">\"admin\"<\/span> <span class=\"nt\">--cluster-version<\/span> <span class=\"s2\">\"1.9.7-gke.3\"<\/span> <span class=\"nt\">--machine-type<\/span> <span class=\"s2\">\"n1-standard-2\"<\/span> <span class=\"nt\">--image-type<\/span> <span class=\"s2\">\"COS\"<\/span> <span class=\"nt\">--disk-type<\/span> <span class=\"s2\">\"pd-standard\"<\/span> <span class=\"nt\">--disk-size<\/span> <span class=\"s2\">\"100\"<\/span> <span class=\"nt\">--scopes<\/span> <span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/compute\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/devstorage.read_only\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/logging.write\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/monitoring\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/servicecontrol\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/service.management.readonly\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/trace.append\"<\/span> <span class=\"nt\">--num-nodes<\/span> <span class=\"s2\">\"3\"<\/span> <span class=\"nt\">--enable-cloud-logging<\/span> <span class=\"nt\">--enable-cloud-monitoring<\/span> <span class=\"nt\">--network<\/span> <span class=\"s2\">\"default\"<\/span> <span class=\"nt\">--subnetwork<\/span> <span class=\"s2\">\"default\"<\/span> <span class=\"nt\">--addons<\/span> HorizontalPodAutoscaling,HttpLoadBalancing,KubernetesDashboard <span class=\"nt\">--no-enable-autoupgrade<\/span> <span class=\"nt\">--enable-autorepair<\/span>\r\n<span class=\"go\">WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.\r\nThis will enable the autorepair feature for nodes. Please see\r\nhttps:\/\/cloud.google.com\/kubernetes-engine\/docs\/node-auto-repair for more\r\ninformation on node autorepairs.\r\n\r\nThis will disable the autoupgrade feature for nodes. Please see\r\nhttps:\/\/cloud.google.com\/kubernetes-engine\/docs\/node-management for more\r\ninformation on node autoupgrades.\r\n\r\nCreating cluster bakeneco...done.                                                                                                               \r\nCreated [https:\/\/container.googleapis.com\/v1beta1\/projects\/bakeneco-211008\/zones\/asia-northeast1-a\/clusters\/bakeneco].\r\nTo inspect the contents of your cluster, go to: https:\/\/console.cloud.google.com\/kubernetes\/workload_\/gcloud\/asia-northeast1-a\/bakeneco?project=bakeneco-211008\r\nkubeconfig entry generated for bakeneco.\r\nNAME      LOCATION           MASTER_VERSION  MASTER_IP       MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS\r\nbakeneco  asia-northeast1-a  1.9.7-gke.3     35.200.103.180  n1-standard-2  1.9.7-gke.3   3          RUNNING\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> gcloud config <span class=\"nb\">unset <\/span>container\/use_client_certificate\r\n<span class=\"go\">Unset property [container\/use_client_certificate].\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> <span class=\"o\">&gt;<\/span> gcloud container clusters get-credentials bakeneco\r\n<span class=\"go\">Fetching cluster endpoint and auth data.\r\nkubeconfig entry generated for bakeneco.\r\n<\/span><\/code><\/pre>\n<blockquote><p>\u56e0\u4e3a\u9047\u5230\u672a\u77e5\u7528\u6237&#8221;client&#8221;\u7684\u95ee\u9898\uff0c\u6211\u4eec\u5c06\u91c7\u53d6\u89c4\u907f\u63aa\u65bd\u3002<\/p><\/blockquote>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl get nodes\r\n<span class=\"go\">NAME                                      STATUS    ROLES     AGE       VERSION\r\n<\/span><span class=\"gp\">gke-bakeneco-default-pool-64aa7c15-glqp   Ready     &lt;none&gt;<\/span>    3m        v1.9.7-gke.3\r\n<span class=\"gp\">gke-bakeneco-default-pool-64aa7c15-jrg7   Ready     &lt;none&gt;<\/span>    3m        v1.9.7-gke.3\r\n<span class=\"gp\">gke-bakeneco-default-pool-64aa7c15-qbkl   Ready     &lt;none&gt;<\/span>    3m        v1.9.7-gke.3\r\n\r\n<span class=\"gp\">&gt;<\/span> kubectl get services <span class=\"nt\">--all-namespaces<\/span>\r\n<span class=\"go\">NAMESPACE     NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE\r\n<\/span><span class=\"gp\">default       kubernetes             ClusterIP   10.31.240.1     &lt;none&gt;<\/span>        443\/TCP         4m\r\n<span class=\"gp\">kube-system   default-http-backend   NodePort    10.31.251.219   &lt;none&gt;<\/span>        80:31148\/TCP    4m\r\n<span class=\"gp\">kube-system   heapster               ClusterIP   10.31.250.35    &lt;none&gt;<\/span>        80\/TCP          4m\r\n<span class=\"gp\">kube-system   kube-dns               ClusterIP   10.31.240.10    &lt;none&gt;<\/span>        53\/UDP,53\/TCP   4m\r\n<span class=\"gp\">kube-system   kubernetes-dashboard   ClusterIP   10.31.253.218   &lt;none&gt;<\/span>        443\/TCP         4m\r\n<span class=\"gp\">kube-system   metrics-server         ClusterIP   10.31.242.139   &lt;none&gt;<\/span>        443\/TCP         4m\r\n\r\n<span class=\"gp\">&gt;<\/span> kubectl get deployments <span class=\"nt\">--all-namespaces<\/span>\r\n<span class=\"go\">NAMESPACE     NAME                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\r\nkube-system   event-exporter-v0.1.9   1         1         1            1           4m\r\nkube-system   heapster-v1.5.2         1         1         1            1           4m\r\nkube-system   kube-dns                2         2         2            2           4m\r\nkube-system   kube-dns-autoscaler     1         1         1            1           4m\r\nkube-system   kubernetes-dashboard    1         1         1            1           4m\r\nkube-system   l7-default-backend      1         1         1            1           4m\r\nkube-system   metrics-server-v0.2.1   1         1         1            1           4m\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> <span class=\"o\">&gt;<\/span> kubectl get pods <span class=\"nt\">--all-namespaces<\/span>\r\n<span class=\"go\">NAMESPACE     NAME                                                 READY     STATUS    RESTARTS   AGE\r\nkube-system   event-exporter-v0.1.9-5c8fb98cdb-dhl4t               2\/2       Running   0          4m\r\nkube-system   fluentd-gcp-v2.0.17-gxtmz                            2\/2       Running   0          4m\r\nkube-system   fluentd-gcp-v2.0.17-prg4n                            2\/2       Running   0          4m\r\nkube-system   fluentd-gcp-v2.0.17-x2fxq                            2\/2       Running   0          4m\r\nkube-system   heapster-v1.5.2-6bf8ff669-qkwbj                      3\/3       Running   0          3m\r\nkube-system   kube-dns-5dcfcbf5fb-5hvnl                            4\/4       Running   0          4m\r\nkube-system   kube-dns-5dcfcbf5fb-hqskb                            4\/4       Running   0          3m\r\nkube-system   kube-dns-autoscaler-69c5cbdcdd-8vzwk                 1\/1       Running   0          4m\r\nkube-system   kube-proxy-gke-bakeneco-default-pool-64aa7c15-glqp   1\/1       Running   0          4m\r\nkube-system   kube-proxy-gke-bakeneco-default-pool-64aa7c15-jrg7   1\/1       Running   0          4m\r\nkube-system   kube-proxy-gke-bakeneco-default-pool-64aa7c15-qbkl   1\/1       Running   0          4m\r\nkube-system   kubernetes-dashboard-6d6c7fb64c-wphpx                1\/1       Running   0          4m\r\nkube-system   l7-default-backend-57856c5f55-n8nqp                  1\/1       Running   0          4m\r\nkube-system   metrics-server-v0.2.1-7f8dd98c8f-pq7pt               2\/2       Running   0          3m\r\n<\/span><\/code><\/pre>\n<h1>\u8bbe\u7f6e\u96c6\u7fa4\u73af\u5883<\/h1>\n<h3>\u7f51\u7edc\u8bbe\u7f6e<\/h3>\n<p>\u9700\u8981\u9884\u5148\u4fdd\u7559\u5916\u90e8IP\u5730\u5740\u3002\u9700\u8981\u6307\u5b9a\u76f8\u540c\u7684\u5730\u533a\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> gcloud beta compute addresses create bakeneco-ip <span class=\"nt\">--network-tier<\/span><span class=\"o\">=<\/span>PREMIUM\r\n<span class=\"go\">For the following address:\r\n - [bakeneco-ip]\r\nchoose a region or global:\r\n [1] global\r\n [2] region: asia-east1\r\n [3] region: asia-northeast1\r\n [4] region: asia-south1\r\n [5] region: asia-southeast1\r\n [6] region: australia-southeast1\r\n [7] region: europe-north1\r\n [8] region: europe-west1\r\n [9] region: europe-west2\r\n [10] region: europe-west3\r\n [11] region: europe-west4\r\n [12] region: northamerica-northeast1\r\n [13] region: southamerica-east1\r\n [14] region: us-central1\r\n [15] region: us-east1\r\n [16] region: us-east4\r\n [17] region: us-west1\r\n [18] region: us-west2\r\nPlease enter your numeric choice:  14\r\n\r\nCreated [https:\/\/www.googleapis.com\/compute\/beta\/projects\/bakeneco-211008\/regions\/us-central1\/addresses\/bakeneco-ip].\r\n<\/span><\/code><\/pre>\n<p>\u5728\u6b64\u65f6\u6ce8\u518cDNS\u8bb0\u5f55\u3002<\/p>\n<h3>\u5b58\u5132\u8a2d\u5b9a<\/h3>\n<p>\u91cd\u65b0\u83b7\u53d6\u7b56\u7565\uff1a\u56e0\u4e3a\u9700\u8981\u4fdd\u7559\u5b58\u50a8\u7c7b\u522bRetain\uff0c\u8bf7\u65b0\u5efa\u4e00\u4efd\uff0c\u5e76\u4ece\u73b0\u6709\u7684\u5b58\u50a8\u7c7b\u522b\u4e2d\u79fb\u9664\u9ed8\u8ba4\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">StorageClass<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">storage.k8s.io\/v1<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">pd-gitlab<\/span>\r\n<span class=\"na\">provisioner<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kubernetes.io\/gce-pd<\/span>\r\n<span class=\"na\">reclaimPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Retain<\/span>\r\n<span class=\"na\">parameters<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">pd-standard<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl create <span class=\"nt\">-f<\/span> gke-storage-class.yaml \r\n<span class=\"go\">storageclass.storage.k8s.io \"pd-gitlab\" created\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl get sc\r\n<span class=\"go\">NAME                 PROVISIONER            AGE\r\npd-gitlab            kubernetes.io\/gce-pd   1m\r\nstandard (default)   kubernetes.io\/gce-pd   19m\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl describe sc\r\n<span class=\"go\">Name:                  pd-gitlab\r\nIsDefaultClass:        No\r\n<\/span><span class=\"gp\">Annotations:           &lt;none&gt;<\/span>\r\n<span class=\"go\">Provisioner:           kubernetes.io\/gce-pd\r\nParameters:            type=pd-standard\r\n<\/span><span class=\"gp\">AllowVolumeExpansion:  &lt;unset&gt;<\/span>\r\n<span class=\"gp\">MountOptions:          &lt;none&gt;<\/span>\r\n<span class=\"go\">ReclaimPolicy:         Retain\r\nVolumeBindingMode:     Immediate\r\n<\/span><span class=\"gp\">Events:                &lt;none&gt;<\/span>\r\n<span class=\"go\">\r\n\r\nName:                  standard\r\nIsDefaultClass:        Yes\r\nAnnotations:           storageclass.beta.kubernetes.io\/is-default-class=true\r\nProvisioner:           kubernetes.io\/gce-pd\r\nParameters:            type=pd-standard\r\n<\/span><span class=\"gp\">AllowVolumeExpansion:  &lt;unset&gt;<\/span>\r\n<span class=\"gp\">MountOptions:          &lt;none&gt;<\/span>\r\n<span class=\"go\">ReclaimPolicy:         Delete\r\nVolumeBindingMode:     Immediate\r\n<\/span><span class=\"gp\">Events:                &lt;none&gt;<\/span>\r\n\r\n\r\n<span class=\"gp\">&gt;<\/span> kubectl patch storageclass pd-gitlab <span class=\"nt\">-p<\/span> <span class=\"s1\">'{\"metadata\": {\"annotations\":{\"storageclass.kubernetes.io\/is-default-class\":\"true\"}}}'<\/span>\r\n<span class=\"go\">storageclass.storage.k8s.io \"pd-gitlab\" patched\r\n\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl patch storageclass standard <span class=\"nt\">-p<\/span> <span class=\"s1\">'{\"metadata\": {\"annotations\":{\"storageclass.beta.kubernetes.io\/is-default-class\":\"false\"}}}'<\/span>\r\n<span class=\"go\">storageclass.storage.k8s.io \"standard\" patched\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl describe sc\r\n<span class=\"go\">Name:                  pd-gitlab\r\nIsDefaultClass:        Yes\r\nAnnotations:           storageclass.kubernetes.io\/is-default-class=true\r\nProvisioner:           kubernetes.io\/gce-pd\r\nParameters:            type=pd-standard\r\n<\/span><span class=\"gp\">AllowVolumeExpansion:  &lt;unset&gt;<\/span>\r\n<span class=\"gp\">MountOptions:          &lt;none&gt;<\/span>\r\n<span class=\"go\">ReclaimPolicy:         Retain\r\nVolumeBindingMode:     Immediate\r\n<\/span><span class=\"gp\">Events:                &lt;none&gt;<\/span>\r\n<span class=\"go\">\r\n\r\nName:                  standard\r\nIsDefaultClass:        No\r\nAnnotations:           storageclass.beta.kubernetes.io\/is-default-class=false\r\nProvisioner:           kubernetes.io\/gce-pd\r\nParameters:            type=pd-standard\r\n<\/span><span class=\"gp\">AllowVolumeExpansion:  &lt;unset&gt;<\/span>\r\n<span class=\"gp\">MountOptions:          &lt;none&gt;<\/span>\r\n<span class=\"go\">ReclaimPolicy:         Delete\r\nVolumeBindingMode:     Immediate\r\n<\/span><span class=\"gp\">Events:                &lt;none&gt;<\/span>\r\n\r\n<span class=\"gp\">&gt;<\/span> kubectl get sc\r\n<span class=\"go\">NAME                  PROVISIONER            AGE\r\npd-gitlab (default)   kubernetes.io\/gce-pd   3m\r\nstandard              kubernetes.io\/gce-pd   21m\r\n<\/span><\/code><\/pre>\n<h3>\u8015\u8018\u673a<\/h3>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> gcloud container clusters describe bakeneco <span class=\"nt\">--format<\/span><span class=\"o\">=<\/span><span class=\"s1\">'value(masterAuth.password)'<\/span>\r\n<span class=\"go\">nya!!\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl <span class=\"nt\">--username<\/span><span class=\"o\">=<\/span>admin <span class=\"nt\">--password<\/span><span class=\"o\">=<\/span>nya!! create <span class=\"nt\">-f<\/span> rbac-config.yaml\r\n<span class=\"go\">serviceaccount \"tiller\" created\r\nclusterrolebinding.rbac.authorization.k8s.io \"tiller\" created\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> helm init <span class=\"nt\">--service-account<\/span> tiller\r\n<span class=\"gp\">$<\/span>HELM_HOME has been configured at \/Users\/jb\/.helm.\r\n<span class=\"go\">\r\nTiller (the Helm server-side component) has been installed into your Kubernetes Cluster.\r\n\r\nPlease note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.\r\n<\/span><span class=\"gp\">For more information on securing your installation see: https:\/\/docs.helm.sh\/using_helm\/#<\/span>securing-your-helm-installation\r\n<span class=\"go\">Happy Helming!\r\n<\/span><\/code><\/pre>\n<h1>\u5b89\u88c5GitLab Chart\u3002<\/h1>\n<p>\u6211\u8981\u6dfb\u52a0GitLab\u56fe\u8868\u4ed3\u5e93\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> helm repo add gitlab https:\/\/charts.gitlab.io\/\r\n<span class=\"go\">\"gitlab\" has been added to your repositories\r\n<\/span><\/code><\/pre>\n<p>\u4f7f\u7528Helm\u6765\u5b89\u88c5GitLab Chart\uff08\u4e0d\u8981\u5fd8\u8bb0\u8bbe\u7f6eglobal.hosts.externalIP\uff01\uff09\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> helm upgrade <span class=\"nt\">--install<\/span> gitlab gitlab\/gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--timeout<\/span> 600 <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> global.hosts.domain<span class=\"o\">=<\/span>bakeneco.io <span class=\"se\">\\<\/span>\r\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000--set global.hosts.externalIP<span class=\"o\">=<\/span>35.208.219.148 <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.gitaly.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> postgresql.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.redis.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.minio.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> certmanager-issuer.email<span class=\"o\">=<\/span>jvasseur@gmail.com\r\n<span class=\"go\">Release \"gitlab\" does not exist. Installing it now.\r\nNAME:   gitlab\r\nLAST DEPLOYED: Thu Aug  2 17:42:48 2018\r\nNAMESPACE: default\r\nSTATUS: DEPLOYED\r\n\r\nRESOURCES:\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/ServiceAccount\r\n<span class=\"go\">NAME                                  SECRETS  AGE\r\ngitlab-certmanager-issuer             1        3s\r\ncertmanager-gitlab                    1        3s\r\ngitlab-gitlab-runner                  1        3s\r\ngitlab-nginx-ingress                  1        3s\r\ngitlab-prometheus-alertmanager        1        3s\r\ngitlab-prometheus-kube-state-metrics  1        3s\r\ngitlab-prometheus-node-exporter       1        3s\r\ngitlab-prometheus-server              1        3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/ClusterRoleBinding\r\n<span class=\"go\">NAME                                  AGE\r\ncertmanager-gitlab                    3s\r\ngitlab-prometheus-alertmanager        3s\r\ngitlab-prometheus-kube-state-metrics  3s\r\ngitlab-prometheus-node-exporter       3s\r\ngitlab-prometheus-server              3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/RoleBinding\r\n<span class=\"go\">NAME                       AGE\r\ngitlab-certmanager-issuer  3s\r\ngitlab-nginx-ingress       3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta2\/Deployment\r\n<span class=\"go\">NAME                                  DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE\r\ngitlab-gitlab-shell                   1        1        1           0          3s\r\ngitlab-sidekiq-all-in-1               1        1        1           0          3s\r\ngitlab-task-runner                    1        1        1           0          2s\r\ngitlab-unicorn                        1        1        1           0          2s\r\ngitlab-minio                          1        1        1           0          2s\r\ngitlab-nginx-ingress-controller       3        3        3           0          2s\r\ngitlab-nginx-ingress-default-backend  2        2        2           0          2s\r\ngitlab-redis                          1        1        1           0          2s\r\ngitlab-registry                       1        0        0           0          2s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/Service\r\n<span class=\"go\">NAME                                  TYPE          CLUSTER-IP     EXTERNAL-IP  PORT(S)                                  AGE\r\n<\/span><span class=\"gp\">gitlab-gitaly                         ClusterIP     None           &lt;none&gt;<\/span>       8075\/TCP,9236\/TCP                        3s\r\n<span class=\"gp\">gitlab-gitlab-shell                   ClusterIP     10.31.250.214  &lt;none&gt;<\/span>       22\/TCP                                   3s\r\n<span class=\"gp\">gitlab-unicorn                        ClusterIP     10.31.247.124  &lt;none&gt;<\/span>       8080\/TCP,8181\/TCP                        3s\r\n<span class=\"gp\">gitlab-minio-svc                      ClusterIP     10.31.247.191  &lt;none&gt;<\/span>       9000\/TCP                                 3s\r\n<span class=\"gp\">gitlab-nginx-ingress-controller       LoadBalancer  10.31.250.114  &lt;pending&gt;<\/span>    80:32488\/TCP,443:31850\/TCP,22:31480\/TCP  3s\r\n<span class=\"gp\">gitlab-nginx-ingress-default-backend  ClusterIP     10.31.243.127  &lt;none&gt;<\/span>       80\/TCP                                   3s\r\n<span class=\"gp\">gitlab-postgresql                     ClusterIP     10.31.248.162  &lt;none&gt;<\/span>       5432\/TCP                                 3s\r\n<span class=\"gp\">gitlab-prometheus-server              ClusterIP     10.31.248.134  &lt;none&gt;<\/span>       80\/TCP                                   3s\r\n<span class=\"gp\">gitlab-redis                          ClusterIP     10.31.241.235  &lt;none&gt;<\/span>       6379\/TCP,9121\/TCP                        3s\r\n<span class=\"gp\">gitlab-registry                       ClusterIP     10.31.249.187  &lt;none&gt;<\/span>       5000\/TCP                                 3s\r\n\r\n<span class=\"gp\">==&gt;<\/span> v1beta2\/StatefulSet\r\n<span class=\"go\">NAME           DESIRED  CURRENT  AGE\r\ngitlab-gitaly  1        1        2s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/Job\r\n<span class=\"go\">NAME                           DESIRED  SUCCESSFUL  AGE\r\ngitlab-issuer.1                1        0           2s\r\ngitlab-migrations.1            1        0           2s\r\ngitlab-minio-create-buckets.1  1        0           2s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/Ingress\r\n<span class=\"go\">NAME             HOSTS                 ADDRESS  PORTS  AGE\r\ngitlab-unicorn   gitlab.bakeneco.io    80, 443  2s\r\ngitlab-minio     minio.bakeneco.io     80, 443  2s\r\ngitlab-registry  registry.bakeneco.io  80, 443  2s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v2beta1\/HorizontalPodAutoscaler\r\n<span class=\"go\">NAME                     REFERENCE                           TARGETS        MINPODS  MAXPODS  REPLICAS  AGE\r\n<\/span><span class=\"gp\">gitlab-gitlab-shell      Deployment\/gitlab-gitlab-shell      &lt;unknown&gt;<\/span>\/75%  2        10       0         2s\r\n<span class=\"gp\">gitlab-sidekiq-all-in-1  Deployment\/gitlab-sidekiq-all-in-1  &lt;unknown&gt;<\/span>\/75%  1        10       0         1s\r\n<span class=\"gp\">gitlab-unicorn           Deployment\/gitlab-unicorn           &lt;unknown&gt;<\/span>\/75%  2        10       0         1s\r\n<span class=\"gp\">gitlab-registry          Deployment\/gitlab-registry          &lt;unknown&gt;<\/span>\/75%  2        10       0         1s\r\n\r\n<span class=\"gp\">==&gt;<\/span> v1\/ConfigMap\r\n<span class=\"go\">NAME                                   DATA  AGE\r\ngitlab-certmanager-issuer-certmanager  2     3s\r\ngitlab-gitlab-runner                   3     3s\r\ngitlab-gitaly                          3     3s\r\ngitlab-gitlab-shell                    2     3s\r\ngitlab-nginx-ingress-tcp               1     3s\r\ngitlab-migrations                      4     3s\r\ngitlab-sidekiq-all-in-1                1     3s\r\ngitlab-sidekiq                         5     3s\r\ngitlab-task-runner                     4     3s\r\ngitlab-unicorn                         8     3s\r\ngitlab-unicorn-tests                   1     3s\r\ngitlab-minio-config-cm                 3     3s\r\ngitlab-nginx-ingress-controller        7     3s\r\ngitlab-postgresql                      0     3s\r\ngitlab-prometheus-server               3     3s\r\ngitlab-redis                           2     3s\r\ngitlab-registry                        2     3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/CustomResourceDefinition\r\n<span class=\"go\">NAME                               AGE\r\ncertificates.certmanager.k8s.io    3s\r\nclusterissuers.certmanager.k8s.io  3s\r\nissuers.certmanager.k8s.io         3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/Role\r\n<span class=\"go\">gitlab-certmanager-issuer  3s\r\ngitlab-nginx-ingress       3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/Deployment\r\n<span class=\"go\">NAME                      DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE\r\ncertmanager-gitlab        1        1        1           0          3s\r\ngitlab-gitlab-runner      1        1        1           0          3s\r\ngitlab-postgresql         1        1        1           0          2s\r\ngitlab-prometheus-server  1        1        1           0          2s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/PodDisruptionBudget\r\n<span class=\"go\">NAME                                  MIN AVAILABLE  MAX UNAVAILABLE  ALLOWED DISRUPTIONS  AGE\r\ngitlab-gitaly                         N\/A            1                0                    1s\r\ngitlab-gitlab-shell                   N\/A            1                0                    1s\r\ngitlab-sidekiq                        N\/A            1                0                    1s\r\ngitlab-unicorn                        N\/A            1                0                    1s\r\ngitlab-minio-v1                       N\/A            1                0                    1s\r\ngitlab-nginx-ingress-controller       2              N\/A              0                    1s\r\ngitlab-nginx-ingress-default-backend  1              N\/A              0                    1s\r\ngitlab-redis-v1                       N\/A            1                0                    1s\r\ngitlab-registry-v1                    N\/A            1                0                    1s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/PersistentVolumeClaim\r\n<span class=\"go\">NAME                      STATUS   VOLUME     CAPACITY  ACCESS MODES  STORAGECLASS  AGE\r\ngitlab-minio              Pending  pd-gitlab  3s\r\ngitlab-postgresql         Pending  pd-gitlab  3s\r\ngitlab-prometheus-server  Pending  pd-gitlab  3s\r\ngitlab-redis              Pending  pd-gitlab  3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/ClusterRole\r\n<span class=\"go\">NAME                                  AGE\r\ncertmanager-gitlab                    3s\r\ngitlab-prometheus-kube-state-metrics  3s\r\ngitlab-prometheus-server              3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/Role\r\n<span class=\"go\">gitlab-gitlab-runner  3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/RoleBinding\r\n<span class=\"go\">NAME                  AGE\r\ngitlab-gitlab-runner  3s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/Pod<span class=\"o\">(<\/span>related<span class=\"o\">)<\/span>\r\n<span class=\"go\">NAME                                                  READY  STATUS             RESTARTS  AGE\r\ncertmanager-gitlab-56f5486fdb-tqswn                   0\/2    ContainerCreating  0         3s\r\ngitlab-gitlab-runner-84dff6795b-fpc9m                 0\/1    Init:0\/1           0         3s\r\ngitlab-gitlab-shell-55b6bd5758-jxvd8                  0\/1    Init:0\/1           0         2s\r\ngitlab-sidekiq-all-in-1-65bfc6d6d7-7cnnm              0\/1    Init:0\/2           0         2s\r\ngitlab-task-runner-7b67867f4f-v4cq2                   0\/1    Init:0\/1           0         2s\r\ngitlab-unicorn-859bc7c5f8-wl9ng                       0\/1    Init:0\/2           0         2s\r\ngitlab-minio-567c4bd69d-pw8bz                         0\/1    Pending            0         2s\r\ngitlab-nginx-ingress-controller-754587444-lb5zd       0\/1    Pending            0         2s\r\ngitlab-nginx-ingress-controller-754587444-qxk94       0\/1    Pending            0         2s\r\ngitlab-nginx-ingress-controller-754587444-smsqq       0\/1    ContainerCreating  0         2s\r\ngitlab-nginx-ingress-default-backend-c955db9c6-5nxv8  0\/1    ContainerCreating  0         2s\r\ngitlab-nginx-ingress-default-backend-c955db9c6-r2fn6  0\/1    Pending            0         1s\r\ngitlab-postgresql-57c66b8d6b-nhtkq                    0\/2    Pending            0         1s\r\ngitlab-prometheus-server-8cf4fdd8-8v9d6               0\/2    Pending            0         1s\r\ngitlab-redis-75764d5485-fc6cg                         0\/2    Pending            0         1s\r\ngitlab-registry-7d49c84859-vt7xf                      0\/1    Pending            0         1s\r\ngitlab-gitaly-0                                       0\/1    Pending            0         2s\r\ngitlab-issuer.1-p9szp                                 0\/1    ContainerCreating  0         2s\r\ngitlab-migrations.1-c7pbq                             0\/1    Init:0\/1           0         2s\r\ngitlab-minio-create-buckets.1-7bv8m                   0\/1    ContainerCreating  0         2s\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl describe service gitlab-nginx-ingress-controller | <span class=\"nb\">grep <\/span>Ingress\r\n<span class=\"go\">LoadBalancer Ingress:     35.224.231.89\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl get secret gitlab-gitlab-initial-root-password <span class=\"nt\">-ojsonpath<\/span><span class=\"o\">=<\/span><span class=\"s1\">'{.data.password}'<\/span> | <span class=\"nb\">base64<\/span> <span class=\"nt\">--decode<\/span>\r\n<span class=\"go\">nyan!\r\n<\/span><\/code><\/pre>\n<p>\u7a0d\u7b49\u7247\u523b\uff0c\u6240\u6709\u7684Pod\u90fd\u4f1a\u542f\u52a8\u8d77\u6765\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> <span class=\"o\">&gt;<\/span> kubectl get pods \r\n<span class=\"go\">NAME                                                   READY     STATUS      RESTARTS   AGE\r\ncertmanager-gitlab-56f5486fdb-tqswn                    2\/2       Running     0          16m\r\ngitlab-gitaly-0                                        1\/1       Running     0          16m\r\ngitlab-gitlab-runner-84dff6795b-fpc9m                  1\/1       Running     8          16m\r\ngitlab-gitlab-shell-55b6bd5758-959xw                   1\/1       Running     0          16m\r\ngitlab-gitlab-shell-55b6bd5758-jxvd8                   1\/1       Running     0          16m\r\ngitlab-issuer.1-p9szp                                  0\/1       Completed   0          16m\r\ngitlab-migrations.1-c7pbq                              0\/1       Completed   0          16m\r\ngitlab-minio-567c4bd69d-pw8bz                          1\/1       Running     0          16m\r\ngitlab-minio-create-buckets.1-7bv8m                    0\/1       Completed   0          16m\r\ngitlab-nginx-ingress-controller-754587444-lb5zd        1\/1       Running     3          16m\r\ngitlab-nginx-ingress-controller-754587444-qxk94        1\/1       Running     3          16m\r\ngitlab-nginx-ingress-controller-754587444-smsqq        1\/1       Running     3          16m\r\ngitlab-nginx-ingress-default-backend-c955db9c6-5nxv8   1\/1       Running     0          16m\r\ngitlab-nginx-ingress-default-backend-c955db9c6-r2fn6   1\/1       Running     0          16m\r\ngitlab-postgresql-57c66b8d6b-nhtkq                     2\/2       Running     0          16m\r\ngitlab-prometheus-server-8cf4fdd8-8v9d6                2\/2       Running     0          16m\r\ngitlab-redis-75764d5485-fc6cg                          2\/2       Running     0          16m\r\ngitlab-registry-7d49c84859-czw7k                       1\/1       Running     0          16m\r\ngitlab-registry-7d49c84859-vt7xf                       1\/1       Running     0          16m\r\ngitlab-sidekiq-all-in-1-65bfc6d6d7-7cnnm               1\/1       Running     0          16m\r\ngitlab-task-runner-7b67867f4f-v4cq2                    1\/1       Running     0          16m\r\ngitlab-unicorn-859bc7c5f8-2wxgl                        1\/1       Running     0          2m\r\ngitlab-unicorn-859bc7c5f8-5ns7j                        1\/1       Running     0          2m\r\ngitlab-unicorn-859bc7c5f8-lsf76                        1\/1       Running     0          16m\r\ngitlab-unicorn-859bc7c5f8-wl9ng                        1\/1       Running     0          16m\r\n<\/span><\/code><\/pre>\n<p>\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u6765\u767b\u5f55\uff01<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d541937434c4406cd1b45\/32-0.png\" alt=\"Screen Shot 2018-08-02 at 18.07.08.png\" \/><\/div>\n<hr \/>\n<h1>\u6574\u7406\u6b65\u9aa4<\/h1>\n<pre class=\"post-pre\"><code>gcloud auth login\r\n\r\ngcloud config <span class=\"nb\">set <\/span>project bakeneco-211008\r\n\r\ngcloud beta container clusters create <span class=\"s2\">\"bakeneco\"<\/span> <span class=\"nt\">--username<\/span> <span class=\"s2\">\"admin\"<\/span> <span class=\"nt\">--cluster-version<\/span> <span class=\"s2\">\"1.9.7-gke.3\"<\/span> <span class=\"nt\">--machine-type<\/span> <span class=\"s2\">\"n1-standard-2\"<\/span> <span class=\"nt\">--image-type<\/span> <span class=\"s2\">\"COS\"<\/span> <span class=\"nt\">--disk-type<\/span> <span class=\"s2\">\"pd-standard\"<\/span> <span class=\"nt\">--disk-size<\/span> <span class=\"s2\">\"100\"<\/span> <span class=\"nt\">--scopes<\/span> <span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/compute\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/devstorage.read_only\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/logging.write\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/monitoring\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/servicecontrol\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/service.management.readonly\"<\/span>,<span class=\"s2\">\"https:\/\/www.googleapis.com\/auth\/trace.append\"<\/span> <span class=\"nt\">--num-nodes<\/span> <span class=\"s2\">\"3\"<\/span> <span class=\"nt\">--enable-cloud-logging<\/span> <span class=\"nt\">--enable-cloud-monitoring<\/span> <span class=\"nt\">--network<\/span> <span class=\"s2\">\"default\"<\/span> <span class=\"nt\">--subnetwork<\/span> <span class=\"s2\">\"default\"<\/span> <span class=\"nt\">--addons<\/span> HorizontalPodAutoscaling,HttpLoadBalancing,KubernetesDashboard <span class=\"nt\">--no-enable-autoupgrade<\/span> <span class=\"nt\">--enable-autorepair<\/span>\r\n\r\ngcloud config <span class=\"nb\">unset <\/span>container\/use_client_certificate\r\n\r\ngcloud container clusters get-credentials bakeneco\r\n\r\nkubectl get nodes\r\n\r\nkubectl get services <span class=\"nt\">--all-namespaces<\/span>\r\n\r\nkubectl get deployments <span class=\"nt\">--all-namespaces<\/span>\r\n\r\nkubectl get pods <span class=\"nt\">--all-namespaces<\/span>\r\n\r\nkubectl create <span class=\"nt\">-f<\/span> gke-storage-class.yaml\r\n\r\nkubectl patch storageclass pd-gitlab <span class=\"nt\">-p<\/span> <span class=\"s1\">'{\"metadata\": {\"annotations\":{\"storageclass.kubernetes.io\/is-default-class\":\"true\"}}}'<\/span>\r\n\r\nkubectl patch storageclass standard <span class=\"nt\">-p<\/span> <span class=\"s1\">'{\"metadata\": {\"annotations\":{\"storageclass.beta.kubernetes.io\/is-default-class\":\"false\"}}}'<\/span>\r\n\r\nkubectl get sc\r\n\r\ngcloud container clusters describe bakeneco <span class=\"nt\">--format<\/span><span class=\"o\">=<\/span><span class=\"s1\">'value(masterAuth.password)'<\/span>\r\n\r\nkubectl <span class=\"nt\">--username<\/span><span class=\"o\">=<\/span>admin <span class=\"nt\">--password<\/span><span class=\"o\">=<\/span>nyan create <span class=\"nt\">-f<\/span> rbac-config.yaml\r\n\r\nhelm init <span class=\"nt\">--service-account<\/span> tiller\r\n\r\nhelm repo add gitlab https:\/\/charts.gitlab.io\/\r\n\r\nhelm upgrade <span class=\"nt\">--install<\/span> gitlab gitlab\/gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--timeout<\/span> 600 <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> global.hosts.domain<span class=\"o\">=<\/span>bakeneco.io <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> global.hosts.externalIP<span class=\"o\">=<\/span>35.208.219.148 <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.gitaly.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> postgresql.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.redis.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> gitlab.minio.persistence.storageClass<span class=\"o\">=<\/span>pd-gitlab <span class=\"se\">\\<\/span>\r\n                                                                      <span class=\"nt\">--set<\/span> certmanager-issuer.email<span class=\"o\">=<\/span>jvasseur@gmail.com\r\n<\/code><\/pre>\n<hr \/>\n<h1>\u8865\u5145\u8bf4\u660e 2018\u5e748\u67082\u65e5<\/h1>\n<p>\u4e4b\u524d\u5c1d\u8bd5\u65f6\uff0c\u603b\u662f\u51fa\u73b0\u65e0\u6548\u8bc1\u4e66\u5bfc\u81f4Runner\u65e0\u6cd5\u542f\u52a8\uff0c\u800c\u65e0\u6cd5\u8fdb\u5165\u767b\u5f55\u9875\u9762\u7684\u95ee\u9898\u3002\u4f46\u5947\u602a\u7684\u662f\uff0c\u95ee\u9898\u5df2\u7ecf\u89e3\u51b3\u4e86\u3002<br \/>\n\u2026\u2026\u4e3a\u4ec0\u4e48\u4f1a\u89e3\u51b3\uff0c\u6211\u6b63\u5728\u8c03\u67e5\u4e2d\u2026\u2026<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d541937434c4406cd1b45\/39-0.png\" alt=\"Screen Shot 2018-07-23 at 11.43.51.png\" \/><\/div>\n<p>\u987a\u4fbf\u63d0\u4e00\u4e0b\uff0c\u4e4b\u524d\u5728\u5b89\u88c5GCP Marketplace\u65f6\u4e5f\u51fa\u73b0\u4e86\u540c\u6837\u7684\u95ee\u9898\u3002<\/p>\n<p>\u6211\u51b3\u5b9a\u63d0\u51fa\u4e00\u9879\u95ee\u9898\u6765\u89c2\u5bdf\u53cd\u5e94\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8c37\u6b4c\u4e91\u5e73\u53f0\u5e02\u573a\uff08Beta\u7248\uff09\u5df2\u7ecf\u53d1\u5e03\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc73\u6b21\u70b9\u51fb\u5373\u53ef\u5b89\u88c5GitLab Helm Chart\u3002 \u867d\u7136\u6709 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43712","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728google-gke\u4e0a\u5b89\u88c5gitlab-helm-chart\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart\" \/>\n<meta property=\"og:description\" content=\"\u8c37\u6b4c\u4e91\u5e73\u53f0\u5e02\u573a\uff08Beta\u7248\uff09\u5df2\u7ecf\u53d1\u5e03\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc73\u6b21\u70b9\u51fb\u5373\u53ef\u5b89\u88c5GitLab Helm Chart\u3002 \u867d\u7136\u6709 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728google-gke\u4e0a\u5b89\u88c5gitlab-helm-chart\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-12T05:28:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T11:35:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d541937434c4406cd1b45\/3-0.jpeg\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/\",\"name\":\"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-12-12T05:28:50+00:00\",\"dateModified\":\"2024-04-29T11:35:23+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728google-gke\u4e0a\u5b89\u88c5gitlab-helm-chart\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart","og_description":"\u8c37\u6b4c\u4e91\u5e73\u53f0\u5e02\u573a\uff08Beta\u7248\uff09\u5df2\u7ecf\u53d1\u5e03\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc73\u6b21\u70b9\u51fb\u5373\u53ef\u5b89\u88c5GitLab Helm Chart\u3002 \u867d\u7136\u6709 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728google-gke\u4e0a\u5b89\u88c5gitlab-helm-chart\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-12-12T05:28:50+00:00","article_modified_time":"2024-04-29T11:35:23+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d541937434c4406cd1b45\/3-0.jpeg"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/","name":"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-12-12T05:28:50+00:00","dateModified":"2024-04-29T11:35:23+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Google GKE\u4e0a\u5b89\u88c5GitLab Helm Chart"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8google-gke%e4%b8%8a%e5%ae%89%e8%a3%85gitlab-helm-chart\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43712"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43712\/revisions"}],"predecessor-version":[{"id":87225,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43712\/revisions\/87225"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}