{"id":1299,"date":"2019-07-16T14:04:33","date_gmt":"2019-07-16T11:04:33","guid":{"rendered":"https:\/\/artem.services\/?p=1296"},"modified":"2019-07-16T14:18:25","modified_gmt":"2019-07-16T11:18:25","slug":"gke-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-nginx-ingress-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d1%8f-helm-2","status":"publish","type":"post","link":"https:\/\/artem.services\/?p=1299&lang=en","title":{"rendered":"GKE &#8212; Nginx Ingress Installation Using HELM"},"content":{"rendered":"<p><img loading=\"lazy\" class=\"size-full wp-image-347 aligncenter\" src=\"https:\/\/artem.services\/wp-content\/uploads\/2018\/12\/GCP-Logo.png\" alt=\"\" width=\"955\" height=\"312\" srcset=\"https:\/\/artem.services\/wp-content\/uploads\/2018\/12\/GCP-Logo.png 955w, https:\/\/artem.services\/wp-content\/uploads\/2018\/12\/GCP-Logo-300x98.png 300w, https:\/\/artem.services\/wp-content\/uploads\/2018\/12\/GCP-Logo-768x251.png 768w, https:\/\/artem.services\/wp-content\/uploads\/2018\/12\/GCP-Logo-954x312.png 954w\" sizes=\"(max-width: 955px) 100vw, 955px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">Installation instructions can be found<\/span><\/span> <a href=\"https:\/\/cloud.google.com\/community\/tutorials\/nginx-ingress-gke\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">Install <strong>HELM<\/strong> locally:<\/span><\/span><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncurl -o get_helm.sh https:\/\/raw.githubusercontent.com\/kubernetes\/helm\/master\/scripts\/get\r\nchmod +x get_helm.sh\r\n.\/get_helm.sh\r\n\r\nhelm init\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Installing <strong>Tiller<\/strong> with <strong>RBAC<\/strong> enabled<\/p>\n<blockquote><p>\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Kubernetes v1.8+, <strong>RBAC<\/strong> \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nkubectl create serviceaccount --namespace kube-system tiller\r\nkubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller\r\nhelm init --service-account tiller\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">Checking:<\/span><\/span><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nkubectl get deployments -n kube-system | grep tiller\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">Create <strong>Nginx Ingress Controller<\/strong>:<\/span><\/span><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nhelm install --name nginx-ingress stable\/nginx-ingress --set rbac.create=true --set controller.publishService.enabled=true\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">If the following error occurs<\/span><\/span>:<\/p>\n<pre>Error: release nginx-ingress failed: namespaces \"default\" is forbidden: User \"system:serviceaccount:kube-system:default\" cannot get resource \"namespaces\" in API group \"\" in the namespace \"default\"<\/pre>\n<p>&nbsp;<\/p>\n<p>R<span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">un the following command<\/span><\/span>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nhelm init --service-account tiller --upgrade\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">We look at the external <strong>IP<\/strong> address of <strong>Ingress<\/strong>:<\/span><\/span><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nkubectl --namespace default get services -o wide -w nginx-ingress-controller\r\n<\/pre>\n<p>&nbsp;<\/p>\n<blockquote><p><span class=\"tlid-translation translation\" lang=\"en\"><span class=\"\" title=\"\">You can reserve it immediately.<\/span><\/span><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Installation instructions can be found here. &nbsp; Install HELM locally: &nbsp; Installing Tiller with RBAC enabled \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Kubernetes v1.8+, RBAC \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. &nbsp; &nbsp; Checking: &nbsp; Create Nginx Ingress Controller: &nbsp; If the following error occurs: Error: release nginx-ingress failed: namespaces &quot;default&quot; is forbidden: User &quot;system:serviceaccount:kube-system:default&quot; cannot get resource &quot;namespaces&quot; in API &hellip; <a href=\"https:\/\/artem.services\/?p=1299&#038;lang=en\" class=\"more-link\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c<span class=\"screen-reader-text\"> &quot;GKE &#8212; Nginx Ingress Installation Using HELM&quot;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1021],"tags":[1023,1025,1027,547,563,549,551],"_links":{"self":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1299"}],"collection":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1299"}],"version-history":[{"count":4,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1299\/revisions"}],"predecessor-version":[{"id":1305,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1299\/revisions\/1305"}],"wp:attachment":[{"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}