{"id":43659,"date":"2023-03-14T00:30:09","date_gmt":"2023-11-24T07:03:46","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/"},"modified":"2024-04-29T18:45:42","modified_gmt":"2024-04-29T10:45:42","slug":"%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/","title":{"rendered":"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a"},"content":{"rendered":"<p>\u81ea GitLab v11.0.0 \u8d77\uff0cCloud Native GitLab Helm Chart \u5df2\u6539\u540d\u4e3a GitLab Helm Chart\uff0c\u5e76\u53d1\u5e03\u4e86 Beta \u7248\u672c\u3002<\/p>\n<ul class=\"post-ul\">https:\/\/docs.gitlab.com\/ee\/install\/kubernetes\/gitlab_chart.html<\/ul>\n<p>\u7531\u4e8eAKS\u6ca1\u6709\u5b98\u65b9\u7684\u5b89\u88c5\u6d41\u7a0b\uff0c\u6240\u4ee5\u6211\u5c3d\u529b\u81ea\u5df1\u521b\u5efa\u4e86\u4e00\u4e2a\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53f837434c4406cd14ba\/3-0.jpeg\" alt=\"Raccoon-4k.jpg\" \/><\/div>\n<h1>\u9884\u5148\u51c6\u5907<\/h1>\n<p>\u6211\u5728\u4f7f\u7528Mac OS\u8fdb\u884c\u5de5\u4f5c\u3002\u60a8\u9700\u8981\u4e8b\u5148\u51c6\u5907\u4ee5\u4e0b\u5185\u5bb9\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">kubectl<\/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\">Helm<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Azure CLI<\/ul>\n<h1>\u6784\u5efaAKS\u96c6\u7fa4<\/h1>\n<p>\u7531\u4e8e\u53ea\u4f7f\u7528CLI\u65e0\u6cd5\u6210\u529f\uff0c\u56e0\u6b64\u6211\u4f1a\u5728Azure Web Portal\u4e0a\u521b\u5efa\u3002<\/p>\n<p>\u5982\u679c\u4f60\u4f7f\u7528\u547d\u4ee4\u884c\u754c\u9762\u6765\u521b\u5efa\uff0c\u4ee5\u4e0b\u8fd9\u4e9b\u547d\u4ee4\u80af\u5b9a\u4f1a\u5f88\u6709\u5e2e\u52a9\uff1a<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">az account list-locations<\/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\">az group create &#8211;name gitlab-chart-group &#8211;location eastus<\/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\">az aks create -g gitlab-chart-group -n bakeneco -l eastus &#8211;enable-rbac &#8211;node-count 3 &#8211;generate-ssh-keys -k 1.9.6<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">az aks delete -g gitlab-chart-group -n bakeneco<\/ul>\n<p>\u63a5\u4e0b\u6765\uff0c\u4f7f\u7528 Azure CLI \u8fdb\u884c\u767b\u5f55\uff0c\u5e76\u8fde\u63a5\u5230\u96c6\u7fa4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> az login\r\n<span class=\"go\">Note, we have launched a browser for you to login. For old experience with device code, use \"az login --use-device-code\"\r\nYou have logged in. Now let us find all subscriptions you have access to...\r\n[\r\n  {\r\n    \"cloudName\": \"AzureCloud\",\r\n    \"id\": \"nyan\",\r\n    \"isDefault\": true,\r\n    \"name\": \"Microsoft Azure \\u30a8\\u30f3\\u30bf\\u30fc\\u30d7\\u30e9\\u30a4\\u30ba\",\r\n    \"state\": \"Enabled\",\r\n    \"tenantId\": \"nyan\",\r\n    \"user\": {\r\n      \"name\": \"nyan@nyan.com\",\r\n      \"type\": \"user\"\r\n    }\r\n  }\r\n]\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> az aks get-credentials <span class=\"nt\">--resource-group<\/span> gitlab-chart-group <span class=\"nt\">--name<\/span> bakeneco\r\n<span class=\"go\">Merged \"bakeneco\" as current context in \/Users\/jb\/.kube\/config\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl get nodes\r\n<span class=\"go\">NAME                       STATUS    ROLES     AGE       VERSION\r\naks-agentpool-15572265-0   Ready     agent     13m       v1.9.6\r\naks-agentpool-15572265-1   Ready     agent     13m       v1.9.6\r\n\r\n<\/span><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.0.0.1       &lt;none&gt;<\/span>          443\/TCP                      13m\r\n<span class=\"gp\">kube-system   addon-http-application-routing-default-http-backend   ClusterIP      10.0.169.174   &lt;none&gt;<\/span>          80\/TCP                       12m\r\n<span class=\"go\">kube-system   addon-http-application-routing-nginx-ingress          LoadBalancer   10.0.156.43    168.62.41.195   80:31997\/TCP,443:31037\/TCP   12m\r\n<\/span><span class=\"gp\">kube-system   heapster                                              ClusterIP      10.0.76.188    &lt;none&gt;<\/span>          80\/TCP                       12m\r\n<span class=\"gp\">kube-system   kube-dns                                              ClusterIP      10.0.0.10      &lt;none&gt;<\/span>          53\/UDP,53\/TCP                12m\r\n<span class=\"gp\">kube-system   kubernetes-dashboard                                  ClusterIP      10.0.31.110    &lt;none&gt;<\/span>          80\/TCP                       12m\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   addon-http-application-routing-default-http-backend       1         1         1            1           13m\r\nkube-system   addon-http-application-routing-external-dns               1         1         1            1           13m\r\nkube-system   addon-http-application-routing-nginx-ingress-controller   1         1         1            1           13m\r\nkube-system   azureproxy                                                1         1         1            1           13m\r\nkube-system   heapster                                                  1         1         1            1           13m\r\nkube-system   kube-dns-v20                                              2         2         2            2           13m\r\nkube-system   kubernetes-dashboard                                      1         1         1            1           13m\r\nkube-system   tunnelfront                                               1         1         1            1           13m\r\n\r\n<\/span><span class=\"gp\">&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   addon-http-application-routing-default-http-backend-66c97fvmg46   1\/1       Running   0          13m\r\nkube-system   addon-http-application-routing-external-dns-6c65ddc45d-nlf4k      1\/1       Running   0          13m\r\nkube-system   addon-http-application-routing-nginx-ingress-controller-64hzwq8   1\/1       Running   0          13m\r\nkube-system   azureproxy-7c677567f6-hlgdl                                       1\/1       Running   0          13m\r\nkube-system   heapster-55f855b47-pqf57                                          2\/2       Running   0          5m\r\nkube-system   kube-dns-v20-7c556f89c5-mgm9w                                     3\/3       Running   0          13m\r\nkube-system   kube-dns-v20-7c556f89c5-xkwrm                                     3\/3       Running   0          13m\r\nkube-system   kube-proxy-6pjzz                                                  1\/1       Running   0          13m\r\nkube-system   kube-proxy-fzhc6                                                  1\/1       Running   0          13m\r\nkube-system   kube-svc-redirect-4r7jm                                           1\/1       Running   2          13m\r\nkube-system   kube-svc-redirect-wdcbs                                           1\/1       Running   1          13m\r\nkube-system   kubernetes-dashboard-b85c46fc-6sznr                               1\/1       Running   5          13m\r\nkube-system   tunnelfront-7b685bd4c5-fkgwh                                      1\/1       Running   0          13m\r\n<\/span><\/code><\/pre>\n<h1>\u96c6\u7fa4\u73af\u5883\u7684\u914d\u7f6e<\/h1>\n<h3>\u7f51\u7edc\u8bbe\u7f6e<\/h3>\n<p>\u7531\u4e8e\u4e00\u5f00\u59cb\u5c31\u6709\u5916\u90e8IP\uff0c\u56e0\u6b64\u9700\u8981\u6ce8\u518cDNS\u8bb0\u5f55\u3002<\/p>\n<p>\u5b89\u88c5\u65f6\uff0c\u94fe\u63a5\u9644\u52a0\u7684HTTP\u5e94\u7528\u7a0b\u5e8f\u8def\u7531-nginx\u5165\u53e3\u63d0\u4f9b\u7684\u5916\u90e8IP\u4e0e\u53e6\u5916\u4e00\u4e2a\u5185\u5bb9\u88ab\u51c6\u5907\u597d\uff0c\u6240\u4ee5\u5728\u5b89\u88c5\u6267\u884c\u4e4b\u540e\u9700\u8981\u786e\u8ba4\u5e76\u8fdb\u884cDNS\u6ce8\u518c\u3002<\/p>\n<h3>\u5b58\u50a8\u8bbe\u7f6e<\/h3>\n<p>\u5728Azure\u4e2d\uff0c\u63d0\u4f9b\u4e86\u9ed8\u8ba4\u7684StorageClass\u9009\u9879\u3002\u8fd9\u6b21\u6211\u4eec\u5c06\u76f4\u63a5\u4f7f\u7528\u5b83\u3002<\/p>\n<h3>\u8015\u8018\u673a<\/h3>\n<blockquote><p>\u6709\u4e9b\u96c6\u7fa4\u9700\u8981\u5728\u4f7f\u7528kubectl\u521b\u5efaTiller\u89d2\u8272\u4e4b\u524d\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\u3002<\/p><\/blockquote>\n<p>\u521b\u5efa\u4e00\u4e2a\u9002\u7528\u4e8eTiller\u7684ClusterRole\u548cServiceAccount\uff0c\u5e76\u6388\u4e88cluster-admin\u6743\u9650\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">rbac.authorization.k8s.io\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ClusterRole<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">creationTimestamp<\/span><span class=\"pi\">:<\/span> <span class=\"no\">null<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">cluster-admin<\/span>\r\n  <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">rbac.authorization.kubernetes.io\/autoupdate<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">true\"<\/span>\r\n<span class=\"na\">rules<\/span><span class=\"pi\">:<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">apiGroups<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s1\">'<\/span><span class=\"s\">*'<\/span>\r\n  <span class=\"na\">resources<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s1\">'<\/span><span class=\"s\">*'<\/span>\r\n  <span class=\"na\">verbs<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s1\">'<\/span><span class=\"s\">*'<\/span>\r\n<span class=\"pi\">-<\/span> <span class=\"na\">nonResourceURLs<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s1\">'<\/span><span class=\"s\">*'<\/span>\r\n  <span class=\"na\">verbs<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s1\">'<\/span><span class=\"s\">*'<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl create <span class=\"nt\">-f<\/span> cluster-admin-role.yaml \r\n<span class=\"go\">clusterrole.rbac.authorization.k8s.io \"cluster-admin\" created\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ServiceAccount<\/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\">tiller<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kube-system<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">rbac.authorization.k8s.io\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ClusterRoleBinding<\/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\">tiller<\/span>\r\n<span class=\"na\">roleRef<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">apiGroup<\/span><span class=\"pi\">:<\/span> <span class=\"s\">rbac.authorization.k8s.io<\/span>\r\n  <span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ClusterRole<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">cluster-admin<\/span>\r\n<span class=\"na\">subjects<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ServiceAccount<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tiller<\/span>\r\n    <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kube-system<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl 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<\/span><\/code><\/pre>\n<p>\u7136\u540e\u5b89\u88c5\u548c\u521d\u59cb\u5316Tiller\u3002<\/p>\n<pre class=\"post-pre\"><code><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<\/h1>\n<p>\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\u5b89\u88c5GitLab Chart\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                                   <span class=\"nt\">--set<\/span> gitlab.migrations.initialRootPassword<span class=\"o\">=<\/span><span class=\"s2\">\"nyan\"<\/span> <span class=\"se\">\\<\/span>\r\n                                   <span class=\"nt\">--set<\/span> gitlab.gitaly.persistence.storageClass<span class=\"o\">=<\/span>default <span class=\"se\">\\<\/span>\r\n                                   <span class=\"nt\">--set<\/span> postgresql.persistence.storageClass<span class=\"o\">=<\/span>default <span class=\"se\">\\<\/span>\r\n                                   <span class=\"nt\">--set<\/span> gitlab.redis.persistence.storageClass<span class=\"o\">=<\/span>default <span class=\"se\">\\<\/span>\r\n                                   <span class=\"nt\">--set<\/span> gitlab.minio.persistence.storageClass<span class=\"o\">=<\/span>default <span class=\"se\">\\<\/span>\r\n                                   <span class=\"nt\">--set<\/span> certmanager-issuer.email<span class=\"o\">=<\/span>nyan@nyan.com\r\n<span class=\"go\">Release \"gitlab\" does not exist. Installing it now.\r\nNAME:   gitlab\r\nLAST DEPLOYED: Sat Jul 21 18:38:43 2018\r\nNAMESPACE: default\r\nSTATUS: DEPLOYED\r\n\r\nRESOURCES:\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                    8s\r\ngitlab-gitlab-shell                   N\/A            1                0                    8s\r\ngitlab-sidekiq                        N\/A            1                0                    7s\r\ngitlab-unicorn                        N\/A            1                0                    7s\r\ngitlab-minio-v1                       N\/A            1                0                    7s\r\ngitlab-nginx-ingress-controller       2              N\/A              0                    7s\r\ngitlab-nginx-ingress-default-backend  1              N\/A              0                    7s\r\ngitlab-redis-v1                       N\/A            1                0                    7s\r\ngitlab-registry-v1                    N\/A            1                0                    7s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/ServiceAccount\r\n<span class=\"go\">NAME                                  SECRETS  AGE\r\ngitlab-certmanager-issuer             1        10s\r\ncertmanager-gitlab                    1        10s\r\ngitlab-gitlab-runner                  1        10s\r\ngitlab-nginx-ingress                  1        10s\r\ngitlab-prometheus-alertmanager        1        10s\r\ngitlab-prometheus-kube-state-metrics  1        10s\r\ngitlab-prometheus-node-exporter       1        10s\r\ngitlab-prometheus-server              1        10s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/Role\r\n<span class=\"go\">NAME                       AGE\r\ngitlab-certmanager-issuer  9s\r\ngitlab-nginx-ingress       9s\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           8s\r\ngitlab-migrations.1            1        0           8s\r\ngitlab-minio-create-buckets.1  1        0           8s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/RoleBinding\r\n<span class=\"go\">NAME                       AGE\r\ngitlab-certmanager-issuer  9s\r\ngitlab-nginx-ingress       9s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta2\/StatefulSet\r\n<span class=\"go\">NAME           DESIRED  CURRENT  AGE\r\ngitlab-gitaly  1        1        8s\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  default  10s\r\ngitlab-postgresql         Pending  default  10s\r\ngitlab-prometheus-server  Pending  default  10s\r\ngitlab-redis              Pending  default  10s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/CustomResourceDefinition\r\n<span class=\"go\">NAME                               AGE\r\ncertificates.certmanager.k8s.io    10s\r\nclusterissuers.certmanager.k8s.io  10s\r\nissuers.certmanager.k8s.io         9s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/Role\r\n<span class=\"go\">gitlab-gitlab-runner  9s\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          9s\r\ngitlab-gitlab-runner      1        1        1           0          9s\r\ngitlab-postgresql         1        1        1           0          8s\r\ngitlab-prometheus-server  1        1        1           0          8s\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  8s\r\ngitlab-minio     minio.bakeneco.io     80, 443  8s\r\ngitlab-registry  registry.bakeneco.io  80, 443  8s\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         8s\r\n<span class=\"gp\">gitlab-sidekiq-all-in-1  Deployment\/gitlab-sidekiq-all-in-1  &lt;unknown&gt;<\/span>\/75%  1        10       0         8s\r\n<span class=\"gp\">gitlab-unicorn           Deployment\/gitlab-unicorn           &lt;unknown&gt;<\/span>\/75%  2        10       0         8s\r\n<span class=\"gp\">gitlab-registry          Deployment\/gitlab-registry          &lt;unknown&gt;<\/span>\/75%  2        10       0         8s\r\n\r\n<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-f6dpb                   0\/2    ContainerCreating  0         9s\r\ngitlab-gitlab-runner-84dff6795b-ffjg6                 0\/1    Init:0\/1           0         9s\r\ngitlab-gitlab-shell-59c74669b-8fjwg                   0\/1    Init:0\/1           0         9s\r\ngitlab-sidekiq-all-in-1-f9c56885f-wct2v               0\/1    Init:0\/2           0         9s\r\ngitlab-task-runner-69f766f6dc-l4tq4                   0\/1    Pending            0         9s\r\ngitlab-unicorn-59ccf4d574-m56z4                       0\/1    Pending            0         8s\r\ngitlab-minio-567c4bd69d-zrp8m                         0\/1    Pending            0         8s\r\ngitlab-nginx-ingress-controller-754587444-7lxn7       0\/1    Pending            0         8s\r\ngitlab-nginx-ingress-controller-754587444-hgjwk       0\/1    Error              0         8s\r\ngitlab-nginx-ingress-controller-754587444-qx86s       0\/1    Pending            0         8s\r\ngitlab-nginx-ingress-default-backend-c955db9c6-plvvw  1\/1    Running            0         8s\r\ngitlab-nginx-ingress-default-backend-c955db9c6-qx5jh  0\/1    Pending            0         8s\r\ngitlab-postgresql-57c66b8d6b-2sxb6                    0\/2    Pending            0         8s\r\ngitlab-prometheus-server-8cf4fdd8-2m4dk               0\/2    Pending            0         8s\r\ngitlab-redis-75764d5485-9bcpg                         0\/2    Pending            0         8s\r\ngitlab-registry-5d797444d7-fnpb9                      0\/1    Pending            0         7s\r\ngitlab-gitaly-0                                       0\/1    Pending            0         8s\r\ngitlab-issuer.1-tvnpc                                 0\/1    ContainerCreating  0         8s\r\ngitlab-migrations.1-25sv6                             0\/1    Pending            0         8s\r\ngitlab-minio-create-buckets.1-5lz7p                   0\/1    Pending            0         8s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1\/ConfigMap\r\n<span class=\"go\">NAME                                   DATA  AGE\r\ngitlab-certmanager-issuer-certmanager  2     10s\r\ngitlab-gitlab-runner                   3     10s\r\ngitlab-gitaly                          3     10s\r\ngitlab-gitlab-shell                    2     10s\r\ngitlab-nginx-ingress-tcp               1     10s\r\ngitlab-migrations                      4     10s\r\ngitlab-sidekiq-all-in-1                1     10s\r\ngitlab-sidekiq                         5     10s\r\ngitlab-task-runner                     4     10s\r\ngitlab-unicorn                         8     10s\r\ngitlab-unicorn-tests                   1     10s\r\ngitlab-minio-config-cm                 3     10s\r\ngitlab-nginx-ingress-controller        7     10s\r\ngitlab-postgresql                      0     10s\r\ngitlab-prometheus-server               3     10s\r\ngitlab-redis                           2     10s\r\ngitlab-registry                        2     10s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/ClusterRole\r\n<span class=\"go\">NAME                                  AGE\r\ncertmanager-gitlab                    9s\r\ngitlab-prometheus-kube-state-metrics  9s\r\ngitlab-prometheus-server              9s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/RoleBinding\r\n<span class=\"go\">NAME                  AGE\r\ngitlab-gitlab-runner  9s\r\n\r\n<\/span><span class=\"gp\">==&gt;<\/span> v1beta1\/ClusterRoleBinding\r\n<span class=\"go\">NAME                                  AGE\r\ncertmanager-gitlab                    9s\r\ngitlab-prometheus-alertmanager        9s\r\ngitlab-prometheus-kube-state-metrics  9s\r\ngitlab-prometheus-node-exporter       9s\r\ngitlab-prometheus-server              9s\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                        9s\r\n<span class=\"gp\">gitlab-gitlab-shell                   ClusterIP     10.0.216.145  &lt;none&gt;<\/span>       22\/TCP                                   9s\r\n<span class=\"gp\">gitlab-unicorn                        ClusterIP     10.0.226.44   &lt;none&gt;<\/span>       8080\/TCP,8181\/TCP                        9s\r\n<span class=\"gp\">gitlab-minio-svc                      ClusterIP     10.0.113.89   &lt;none&gt;<\/span>       9000\/TCP                                 9s\r\n<span class=\"gp\">gitlab-nginx-ingress-controller       LoadBalancer  10.0.65.171   &lt;pending&gt;<\/span>    80:32670\/TCP,443:31479\/TCP,22:31190\/TCP  9s\r\n<span class=\"gp\">gitlab-nginx-ingress-default-backend  ClusterIP     10.0.104.154  &lt;none&gt;<\/span>       80\/TCP                                   9s\r\n<span class=\"gp\">gitlab-postgresql                     ClusterIP     10.0.238.193  &lt;none&gt;<\/span>       5432\/TCP                                 9s\r\n<span class=\"gp\">gitlab-prometheus-server              ClusterIP     10.0.222.23   &lt;none&gt;<\/span>       80\/TCP                                   9s\r\n<span class=\"gp\">gitlab-redis                          ClusterIP     10.0.148.79   &lt;none&gt;<\/span>       6379\/TCP,9121\/TCP                        9s\r\n<span class=\"gp\">gitlab-registry                       ClusterIP     10.0.49.168   &lt;none&gt;<\/span>       5000\/TCP                                 9s\r\n\r\n<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          9s\r\ngitlab-sidekiq-all-in-1               1        1        1           0          9s\r\ngitlab-task-runner                    1        1        1           0          9s\r\ngitlab-unicorn                        1        1        1           0          9s\r\ngitlab-minio                          1        1        1           0          8s\r\ngitlab-nginx-ingress-controller       3        3        3           0          8s\r\ngitlab-nginx-ingress-default-backend  2        2        2           1          8s\r\ngitlab-redis                          1        1        1           0          8s\r\ngitlab-registry                       1        1        1           0          8s\r\n\r\n<\/span><\/code><\/pre>\n<p>\u5c06\u786e\u8ba4Ingress\u7684\u5916\u90e8IP\u5e76\u5c06\u5176\u6ce8\u518c\u5230DNS\u8bb0\u5f55\u4e2d\u3002<\/p>\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:     23.101.134.115\r\n<\/span><\/code><\/pre>\n<p>\u8fc7\u4e00\u6bb5\u65f6\u95f4\uff0c\u6240\u6709\u7684Pods\u90fd\u4f1a\u542f\u52a8\u8d77\u6765\uff0c\u7136\u540e\u60a8\u5c31\u53ef\u4ee5\u770b\u5230\u767b\u5f55\u754c\u9762\u4e86\u3002<\/p>\n<p>\u83b7\u53d6\u5bc6\u7801\u5e76\u767b\u5f55\u3002<\/p>\n<pre class=\"post-pre\"><code><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<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53f837434c4406cd14ba\/38-0.png\" alt=\"Screen Shot 2018-07-22 at 13.51.31.png\" \/><\/div>\n<hr \/>\n<h1>\u6574\u7406\u6b65\u9aa4<\/h1>\n<pre class=\"post-pre\"><code><span class=\"go\">az login\r\naz aks get-credentials --resource-group gitlab-chart-group --name bakeneco\r\nkubectl get nodes\r\nkubectl get pods --all-namespaces\r\nkubectl create -f cluster-admin-role.yaml\r\nkubectl create -f rbac-config.yaml\r\nhelm init --service-account tiller\r\nhelm repo add gitlab https:\/\/charts.gitlab.io\/\r\nhelm upgrade --install gitlab gitlab\/gitlab \\\r\n                                   --timeout 600 \\\r\n                                   --set global.hosts.domain=bakeneco.io \\\r\n                                   --set gitlab.migrations.initialRootPassword=\"nyan\" \\\r\n                                   --set gitlab.gitaly.persistence.storageClass=default \\\r\n                                   --set postgresql.persistence.storageClass=default \\\r\n                                   --set gitlab.redis.persistence.storageClass=default \\\r\n                                   --set gitlab.minio.persistence.storageClass=default \\\r\n                                   --set certmanager-issuer.email=nyan@nyan.com\r\nkubectl describe service gitlab-nginx-ingress-controller | grep Ingress\r\nkubectl get secret gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode\r\n<\/span><\/code><\/pre>\n<hr \/>\n<h1>\u9644\u52a0\uff1a\u91c7\u7528\u4e86\u5931\u8d25\u7684Azure\u6587\u4ef6\u5b58\u50a8\u7c7b\u7684\u663e\u773c\u3002<\/h1>\n<p>\u554a\uff5e \u5b58\u50a8\u771f\u7684\u5f88\u6709\u8da3\u554a\u3002<br \/>\n\u5728Azure\u4e2d\u6709\u63d0\u4f9b\u9ed8\u8ba4\u7684\u5b58\u50a8\u7c7b\u578b\uff0c\u4f46\u662f\u6211\u4e0d\u592a\u559c\u6b22Azure-Disk\u3002<\/p>\n<p>\u6211\u770b\u5230\u4e86\u4e00\u7bc7\u5173\u4e8eAzure\u5b58\u50a8\u7c7b\u7684\u597d\u6587\u7ae0\uff0c\u6240\u4ee5\u53c2\u8003\u4e86\u4e00\u4e0b\u3002<\/p>\n<p>\u9996\u5148\uff0c\u5728\u4e0e\u96c6\u7fa4\u8282\u70b9\u76f8\u540c\u7684\u8d44\u6e90\u7ec4\uff08\u4e0d\u662f\u96c6\u7fa4\u670d\u52a1\u7ec4\uff01\uff09\u4e2d\u521b\u5efa\u5b58\u50a8\u8d26\u6237\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> az storage account create <span class=\"nt\">--resource-group<\/span> MC_gitlab-chart-group_bakeneco_eastus <span class=\"nt\">--name<\/span> gitlabchartstorage  \r\n<span class=\"go\">{\r\n  \"accessTier\": null,\r\n  \"creationTime\": \"2018-07-21T07:18:12.543726+00:00\",\r\n  \"customDomain\": null,\r\n  \"enableHttpsTrafficOnly\": false,\r\n  \"encryption\": {\r\n    \"keySource\": \"Microsoft.Storage\",\r\n    \"keyVaultProperties\": null,\r\n    \"services\": {\r\n      \"blob\": {\r\n        \"enabled\": true,\r\n        \"lastEnabledTime\": \"2018-07-21T07:18:12.762473+00:00\"\r\n      },\r\n      \"file\": {\r\n        \"enabled\": true,\r\n        \"lastEnabledTime\": \"2018-07-21T07:18:12.762473+00:00\"\r\n      },\r\n      \"queue\": null,\r\n      \"table\": null\r\n    }\r\n  },\r\n  \"id\": \"\/subscriptions\/cc07cdf5-785f-45be-9718-2283b78ab03a\/resourceGroups\/gitlab-chart-group\/providers\/Microsoft.Storage\/storageAccounts\/gitlabchartstorage\",\r\n  \"identity\": null,\r\n  \"kind\": \"Storage\",\r\n  \"lastGeoFailoverTime\": null,\r\n  \"location\": \"eastus\",\r\n  \"name\": \"gitlabchartstorage\",\r\n  \"networkRuleSet\": {\r\n    \"bypass\": \"AzureServices\",\r\n    \"defaultAction\": \"Allow\",\r\n    \"ipRules\": [],\r\n    \"virtualNetworkRules\": []\r\n  },\r\n  \"primaryEndpoints\": {\r\n    \"blob\": \"https:\/\/gitlabchartstorage.blob.core.windows.net\/\",\r\n    \"file\": \"https:\/\/gitlabchartstorage.file.core.windows.net\/\",\r\n    \"queue\": \"https:\/\/gitlabchartstorage.queue.core.windows.net\/\",\r\n    \"table\": \"https:\/\/gitlabchartstorage.table.core.windows.net\/\"\r\n  },\r\n  \"primaryLocation\": \"eastus\",\r\n  \"provisioningState\": \"Succeeded\",\r\n  \"resourceGroup\": \"gitlab-chart-group\",\r\n  \"secondaryEndpoints\": {\r\n    \"blob\": \"https:\/\/gitlabchartstorage-secondary.blob.core.windows.net\/\",\r\n    \"file\": null,\r\n    \"queue\": \"https:\/\/gitlabchartstorage-secondary.queue.core.windows.net\/\",\r\n    \"table\": \"https:\/\/gitlabchartstorage-secondary.table.core.windows.net\/\"\r\n  },\r\n  \"secondaryLocation\": \"westus\",\r\n  \"sku\": {\r\n    \"capabilities\": null,\r\n    \"kind\": null,\r\n    \"locations\": null,\r\n    \"name\": \"Standard_RAGRS\",\r\n    \"resourceType\": null,\r\n    \"restrictions\": null,\r\n    \"tier\": \"Standard\"\r\n  },\r\n  \"statusOfPrimary\": \"available\",\r\n  \"statusOfSecondary\": \"available\",\r\n  \"tags\": {},\r\n  \"type\": \"Microsoft.Storage\/storageAccounts\"\r\n}\r\n<\/span><\/code><\/pre>\n<p>\u7136\u540e\u521b\u5efaStorageClass\u5e76\u5c06\u5176\u8bbe\u4e3a\u9ed8\u8ba4\u503c\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\">azurefilestorage<\/span>\r\n<span class=\"na\">provisioner<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kubernetes.io\/azure-file<\/span>\r\n<span class=\"na\">parameters<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">storageAccount<\/span><span class=\"pi\">:<\/span> <span class=\"s\">gitlabchartstorage<\/span>\r\n<span class=\"na\">reclaimPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Retain<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>&gt; kubectl create -f aks-storage-class.yaml \r\nstorageclass.storage.k8s.io \"azurefilestorage\" created\r\n\r\n&gt; kubectl patch storageclass azurefilestorage -p '{\"metadata\": {\"annotations\":{\"storageclass.kubernetes.io\/is-default-class\":\"true\"}}}'\r\nstorageclass.storage.k8s.io \"azurefilestorage\" patched\r\n\r\n&gt; kubectl delete sc default\r\nstorageclass.storage.k8s.io \"default\" deleted\r\n\r\n&gt; kubectl get storageclass\r\nNAME                         PROVISIONER                AGE\r\nazurefilestorage (default)   kubernetes.io\/azure-file   43s\r\nmanaged-premium              kubernetes.io\/azure-disk   40m\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u5b58\u5728\u4e24\u4e2aStorageClass\u4f1a\u5e26\u6765\u56f0\u6270\uff0c\u6240\u4ee5\u6211\u5220\u9664\u4e86\u9ed8\u8ba4\u7684StorageClass\u3002\u7136\u800c\uff0c\u5b83\u5374\u4e0d\u77e5\u600e\u4e48\u5730\u81ea\u52a8\u6062\u590d\u4e86\u3002<\/p>\n<p>\u5982\u679c\u4f60\u5728\u5b89\u88c5GitLab Chart\u4e4b\u524d\u5306\u5fd9\u5220\u9664\u4e86\u9ed8\u8ba4\u7684StorageClass\uff0c\u90a3\u4e48\u5b89\u88c5\u5c06\u5728\u5b83\u6062\u590d\u4e4b\u524d\u5f00\u59cb\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl delete sc default\r\n<span class=\"go\">storageclass.storage.k8s.io \"default\" deleted\r\n<\/span><\/code><\/pre>\n<p>\u6700\u7ec8\u6ca1\u6709\u6210\u529f\uff0c\u6211\u4eec\u51b3\u5b9a\u653e\u5f03\u3002\u867d\u7136\u6301\u4e45\u5316\u5377\u58f0\u660e\u6210\u529f\u4e86\uff0c\u4f46\u662f\u4f3c\u4e4eminio\u548cpostgresql\u5728\u5377\u4e0a\u6ca1\u6709\u6b63\u786e\u7684\u6743\u9650\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">&gt;<\/span> kubectl logs gitlab-minio-567c4bd69d-6cf5s\r\n<span class=\"go\">time=\"2018-07-21T09:01:18Z\" level=error msg=\"Initializing object layer failed\" cause=\"Unable to initialize '.minio.sys' meta volume, mkdir \/export\/.minio.sys: permission denied\" source=\"[server-main.go:214:serverMain()]\"\r\n\r\n<\/span><span class=\"gp\">&gt;<\/span> kubectl logs gitlab-postgresql-57c66b8d6b-b7tsh gitlab-postgresql\r\n<span class=\"go\">The files belonging to this database system will be owned by user \"postgres\".\r\nThis user must also own the server process.\r\n\r\nThe database cluster will be initialized with locale \"en_US.utf8\".\r\nThe default database encoding has accordingly been set to \"UTF8\".\r\nThe default text search configuration will be set to \"english\".\r\n\r\nData page checksums are disabled.\r\n\r\ninitdb: could not change permissions of directory \"\/var\/lib\/postgresql\/data\/pgdata\": Operation not permitted\r\nfixing permissions on existing directory \/var\/lib\/postgresql\/data\/pgdata ... \r\n<\/span><\/code><\/pre>\n<p>\u5e94\u8be5\u53ef\u4ee5\u627e\u5230\u529e\u6cd5\uff0c\u4f46\u8fd9\u6b21\u6211\u653e\u5f03\u4e86\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u81ea GitLab v11.0.0 \u8d77\uff0cCloud Native GitLab Helm Chart \u5df2\u6539\u540d\u4e3a  [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43659","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>\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a - 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\/\u5c06gitlab-helm-chart\u5b89\u88c5\u5230azure-aks\u4e0a\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a\" \/>\n<meta property=\"og:description\" content=\"\u81ea GitLab v11.0.0 \u8d77\uff0cCloud Native GitLab Helm Chart \u5df2\u6539\u540d\u4e3a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5c06gitlab-helm-chart\u5b89\u88c5\u5230azure-aks\u4e0a\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-24T07:03:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T10:45:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53f837434c4406cd14ba\/3-0.jpeg\" \/>\n<meta name=\"author\" content=\"\u79d1, \u9896\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u9896\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 \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%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/\",\"name\":\"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-24T07:03:46+00:00\",\"dateModified\":\"2024-04-29T10:45:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a\"}]},{\"@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\/8ca01ba7f7362ad4edb7da206a12f29e\",\"name\":\"\u79d1, \u9896\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u9896\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keying\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a - 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\/\u5c06gitlab-helm-chart\u5b89\u88c5\u5230azure-aks\u4e0a\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a","og_description":"\u81ea GitLab v11.0.0 \u8d77\uff0cCloud Native GitLab Helm Chart \u5df2\u6539\u540d\u4e3a [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5c06gitlab-helm-chart\u5b89\u88c5\u5230azure-aks\u4e0a\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-24T07:03:46+00:00","article_modified_time":"2024-04-29T10:45:42+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53f837434c4406cd14ba\/3-0.jpeg"}],"author":"\u79d1, \u9896","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u9896","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"9 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/","name":"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-24T07:03:46+00:00","dateModified":"2024-04-29T10:45:42+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/8ca01ba7f7362ad4edb7da206a12f29e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5c06GitLab Helm Chart\u5b89\u88c5\u5230Azure AKS\u4e0a"}]},{"@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\/8ca01ba7f7362ad4edb7da206a12f29e","name":"\u79d1, \u9896","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8a6fb3cc7ba2f69d2189ba532aec4633ea7ed75ac0af162ec367cb3abc0fb2af?s=96&d=mm&r=g","caption":"\u79d1, \u9896"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keying\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%b0%86gitlab-helm-chart%e5%ae%89%e8%a3%85%e5%88%b0azure-aks%e4%b8%8a\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43659","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\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43659"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43659\/revisions"}],"predecessor-version":[{"id":86990,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43659\/revisions\/86990"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}