{"id":2222,"date":"2020-02-29T12:26:28","date_gmt":"2020-02-29T03:26:28","guid":{"rendered":"http:\/\/blue-bear.jp\/kb\/?p=2222"},"modified":"2020-03-02T14:24:22","modified_gmt":"2020-03-02T05:24:22","slug":"gke-amazon-linux%e4%b8%8a%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92gkekubenetes%e3%81%ab%e7%a7%bb%e8%a1%8c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/blue-bear.jp\/kb\/gke-amazon-linux%e4%b8%8a%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92gkekubenetes%e3%81%ab%e7%a7%bb%e8%a1%8c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95\/","title":{"rendered":"[GKE] Amazon Linux\u4e0a\u306e\u30b3\u30f3\u30c6\u30ca\u3092GKE(kubenetes)\u306b\u79fb\u884c\u3059\u308b\u65b9\u6cd5\uff08\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u30fb\u30d7\u30ea\u30a8\u30f3\u30c6\u30a3\u30d6\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30fbNginx Controller\uff09"},"content":{"rendered":"<p>Kubernetes\u30b5\u30fc\u30d3\u30b9\u3092\u6bd4\u8f03\u3057\u305f\u7d50\u679c\u3001GKE\u304c\u6700\u3082\u5b89\u4fa1\u306b\u904b\u7528\u3067\u304d\u308b\u3068\u3044\u3046\u7d50\u8ad6\u306b\u81f3\u3063\u305f\u305f\u3081\u3001\u73fe\u5728\u7a3c\u50cd\u4e2d\u306eAmazon Linux\u4e0a\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u3059\u3079\u3066GKE\u306b\u79fb\u884c\u3057\u305f\u624b\u9806\u3092\u30e1\u30e2<\/p>\n<p>\u3061\u306a\u307f\u306b\u8cbb\u7528\u524a\u6e1b\u306e\u305f\u3081\u306b\u30b3\u30f3\u30c6\u30ca\u4e0a\u306eLoadbalancer\u306f1\u500b\u3060\u3051\u306b\u3057\u3066\u3001\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u306eFQDN\u3054\u3068\u306b\u9069\u5207\u306a\u30b3\u30f3\u30c6\u30ca\u306b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u632f\u308a\u5206\u3051\u308bNginx contoller\u3092Deploy\u3059\u308b<\/p>\n<p>\u307e\u305fGKE\u4e0a\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u30d7\u30ea\u30a8\u30f3\u30c6\u30a3\u30d6\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3055\u3089\u306b\u8cbb\u7528\u524a\u6e1b\u3059\u308b\u3002<\/p>\n<p>GKE\u30b3\u30f3\u30c6\u30ca\u3067\u4f7f\u7528\u3059\u308b\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u30ea\u30fc\u30b8\u30e7\u30f3\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u4f7f\u7528\u3057\u3066\u8010\u30ea\u30fc\u30b8\u30e7\u30f3\u969c\u5bb3\u306b\u5099\u3048\u308b\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>Amazon Linux\u306e\u4f5c\u696d<\/h2>\n<p>GKE\u306b\u30b3\u30f3\u30c6\u30ca\u3092Deploy\u3059\u308b\u306b\u306fGCP Container Registry\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<p>Amazon Linux\u304b\u3089GCP Container Registry\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u65b9\u6cd5\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b<\/p>\n<h3>Amazon Linux\u306eDocker\u30b3\u30f3\u30c6\u30ca\u3092\u30a4\u30e1\u30fc\u30b8\u5316<\/h3>\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u79fb\u884c\u3057\u305f\u3044\u30b3\u30f3\u30c6\u30ca\u3092\u30a4\u30e1\u30fc\u30b8\u5316\u3059\u308b (Amazon Linux\u4e0a)<\/p>\n<pre class=\"lang:default decode:true\">docker commit \u30b3\u30f3\u30c6\u30ca\u540d\u307e\u305f\u306f\u30b3\u30f3\u30c6\u30caID \u30a4\u30e1\u30fc\u30b8\u540d:\u30bf\u30b0\u540d<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>GCP\u306egcloud\u30b3\u30de\u30f3\u30c9\u3092Amazon Linux\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<pre class=\"lang:default decode:true\">curl https:\/\/sdk.cloud.google.com | bash<\/pre>\n<p>\u5bfe\u8a71\u5f0f\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u9032\u3080\u304c\u3001\u57fa\u672c\u7684\u306bEnter\u3067\u9032\u3081\u3066\u3088\u3044<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">$ exec -l $SHELL\r\n$ which gcloud\r\n~\/google-cloud-sdk\/bin\/gcloud<\/pre>\n<p>\u30d1\u30b9\u3092\u53cd\u6620<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">gcloud init<\/pre>\n<p>\u81ea\u5206\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30ed\u30b0\u30a4\u30f3<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">You must log in to continue. Would you like to log in (Y\/n)? y\r\n\r\nGo to the following link in your browser:\r\n\r\n \u00a6 https:\/\/accounts.google.com\/o\/oauth2\/XXXXXXXXXXXXXXXXXXXXXX\r\n\r\n\r\nEnter verification code: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY<\/pre>\n<p>URL\u304c\u51fa\u529b\u3055\u308c\u308b\u306e\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u3067\u958b\u3044\u3066\u3001GCP\u3067\u4f7f\u3063\u3066\u3044\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3067\u30ed\u30b0\u30a4\u30f3\u3002\u753b\u9762\u306b\u8868\u793a\u3055\u308c\u305f\u8a8d\u8a3c\u30ad\u30fc\u3092\u30d7\u30ed\u30f3\u30d7\u30c8\u306b\u30b3\u30d4\u30da\u3059\u308b\u3002<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">Do you want to configure Google Compute Engine\r\n(https:\/\/cloud.google.com\/compute) settings (Y\/n)?<\/pre>\n<p>Y\u3092\u9078\u629e\u3059\u308b\u3068Region\u9078\u629e\u306b\u79fb\u308b\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>Amazon Linux\u306eDocker\u30a4\u30e1\u30fc\u30b8\u3092GCP Container Registry\u306b\u30d7\u30c3\u30b7\u30e5<\/h3>\n<p>\u30ed\u30b0\u30a4\u30f3\u3068Project\u8a2d\u5b9a<\/p>\n<pre class=\"lang:default decode:true\">gcloud auth login\r\ngcloud config set project [PROJECT_ID]<\/pre>\n<p>&nbsp;<\/p>\n<p>gcloud config\u3092\u78ba\u8a8d<\/p>\n<pre class=\"lang:default decode:true\">$ gcloud config list\r\n[core]\r\naccount = your_account@gmail.com\r\ndisable_usage_reporting = False\r\nproject = project id\r\n\r\nYour active configuration is: [project id]\r\n~<\/pre>\n<p>GCP\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u3001GCP\u306ecredential\u3092\u8a2d\u5b9a<\/p>\n<pre class=\"lang:default decode:true\">gcloud auth configure-docker<\/pre>\n<p>\u30a4\u30e1\u30fc\u30b8\u3092\u30ec\u30dd\u30b8\u30c8\u30ea\u306e\u30bf\u30b0\u540d\u3092\u4ed8\u3051\u308b\u3001\u3053\u308c\u3092\u884c\u308f\u306a\u3044\u3068Push\u3067\u304d\u306a\u3044\u3002<\/p>\n<pre class=\"lang:default decode:true\">docker tag [\u30ed\u30fc\u30ab\u30eb\u306edocker image]:[TAG] [HOSTNAME]\/[PROJECT-ID]\/[IMAGE]:[TAG]<\/pre>\n<p>Docker Image\u3092Push<\/p>\n<pre class=\"lang:default decode:true\">docker push gcr.io\/[PROJECT-ID]\/[IMAGE]<\/pre>\n<h2>GKE\u3067\u306e\u4f5c\u696d<\/h2>\n<h3>GKE\u3067\u30b3\u30f3\u30c6\u30ca\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u6210<\/h3>\n<p>\u6c38\u7d9a\u30ea\u30fc\u30b8\u30e7\u30f3\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ea\u30fc\u30b8\u30e7\u30f3\u306e\u969c\u5bb3\u8010\u6027\u3092\u6301\u305f\u305b\u305f\u3044\u306e\u3067\u3001\u30af\u30e9\u30b9\u30bf\u3082\u30ea\u30fc\u30b8\u30e7\u30f3\u30bf\u30a4\u30d7\u3092\u6307\u5b9a\u3002<\/p>\n<p>\u305f\u3060\u6c38\u7d9a\u30ea\u30fc\u30b8\u30e7\u30f3\u30b9\u30c8\u30ec\u30fc\u30b8\u306f2\u3064\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3057\u304b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\uff1f\u306e\u3067\u3001\u30af\u30e9\u30b9\u30bf\u30822\u3064\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u6307\u5b9a\u3057\u3066\u304a\u304f\u3002<\/p>\n<p id=\"OjNDEUC\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"430\" class=\"alignnone size-full wp-image-2223 \" src=\"http:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d60540a54.png\" alt=\"\" srcset=\"https:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d60540a54.png 683w, https:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d60540a54-300x189.png 300w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>24\u6642\u9593\u3067\u518d\u8d77\u52d5\u304c\u304b\u304b\u308b\u304c\u3001\u8cbb\u7528\u304c\u901a\u5e38\u306e1\/3\u306b\u306a\u308b\u30d7\u30ea\u30a8\u30f3\u30c6\u30a3\u30d6\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u6301\u3064\u30ce\u30fc\u30c9\u30d7\u30fc\u30eb\u306b\u65b0\u3057\u304f\u4f5c\u308a\u3001Default\u30ce\u30fc\u30c9\u30d7\u30fc\u30eb\u3092\u524a\u9664<\/p>\n<p id=\"iRCraLx\"><img loading=\"lazy\" decoding=\"async\" width=\"582\" height=\"302\" class=\"alignnone size-full wp-image-2224 \" src=\"http:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d77e809b9.png\" alt=\"\" srcset=\"https:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d77e809b9.png 582w, https:\/\/blue-bear.jp\/kb\/wp-content\/uploads\/2020\/02\/img_5e59d77e809b9-300x156.png 300w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/p>\n<h3>GCP Container Registry\u306e\u30a4\u30e1\u30fc\u30b8\u3092Deploy<\/h3>\n<p>\u5148\u307b\u3069GCP Container Registry\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u30b3\u30f3\u30c6\u30ca\u3092Deploy<\/p>\n<p>GCP Shell\u3092\u8d77\u52d5\u3055\u305b\u3066Editor\u3092\u8d77\u52d5<\/p>\n<p>Explorer\u4e0a\u3067\u65b0\u3057\u304f\u300cexample.yaml\u300d\u3092\u4f5c\u6210\u3059\u308b<\/p>\n<pre class=\"lang:default decode:true\">apiVersion: v1\r\nkind: Service\r\nmetadata:\r\n name: example-dokuwiki-service\r\n annotations:\r\n beta.cloud.google.com\/backend-config: '{\"ports\": {\"80\":\"[\u904b\u7528\u3057\u305f\u3044\u30c9\u30e1\u30a4\u30f3\u540d]\"}}'\r\nspec:\r\n ports:\r\n - name: http\r\n port: 80\r\n protocol: TCP\r\n targetPort: http\r\n - name: https\r\n port: 443\r\n protocol: TCP\r\n targetPort: https\r\n selector:\r\n app: example\r\n sessionAffinity: None\r\n type: ClusterIP\r\nstatus:\r\n loadBalancer: {}\r\n---\r\napiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n name: example-dokuwiki\r\nspec:\r\n replicas: 1\r\n template:\r\n metadata:\r\n labels:\r\n app: example\r\n spec:\r\n containers:\r\n - name : example-dokuwiki\r\n image: gcr.io\/[\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d]\/[\u30a4\u30e1\u30fc\u30b8\u540d]\r\n volumeMounts:\r\n - mountPath: \/bitnami\/dokuwiki\r\n name: example-dokuwiki-data\r\n subPath: example-dokuwiki-data-sub\r\n ports:\r\n - containerPort: 80\r\n name: http\r\n protocol: TCP\r\n - containerPort: 443\r\n name: https\r\n protocol: TCP \r\n volumes:\r\n - name: example-dokuwiki-data\r\n persistentVolumeClaim:\r\n claimName: example-dokuwiki\r\n---\r\napiVersion: v1\r\nkind: PersistentVolumeClaim\r\nmetadata:\r\n name: example-dokuwiki\r\nspec:\r\n accessModes:\r\n - ReadWriteOnce\r\n resources:\r\n requests:\r\n storage: 8Gi\r\n<\/pre>\n<p>example-dokuwiki-service\u3068example-dokuwiki\u3068\u3044\u3046Deployment\u3068example-dokuwiki\u3068\u3044\u3046PersistentVolumeClaim\u306e3\u3064\u304c\u4e0a\u8a18yaml\u3067\u4f5c\u6210\u3055\u308c\u308b\u3002\u4eca\u56de\u306fbitnami-dokuwiki\u306a\u306e\u3067PV\u306e\u30de\u30a6\u30f3\u30c8\u5148\u306f\/bitnami\/dokuwiki\u3068\u3057\u3066\u3044\u308b\u3002<\/p>\n<p>\u5916\u90e8\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30a4\u30ba\u306f8G\u3068\u3057\u3066\u3044\u308b\u304c\u5909\u66f4\u53ef\u80fd\u3002PVC\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30af\u30e9\u30b9\u306fGKE\u3067\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u308bStandard\u30af\u30e9\u30b9\uff08\u30ea\u30fc\u30b8\u30e7\u30f3\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\uff09\u4e0a\u306b\u4f5c\u6210\u3055\u308c\u308b<\/p>\n<p>Internet\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u306fNginx\u3067\u53d7\u3051\u3055\u305b\u305f\u3044\u305f\u3081\u3001dokuwiki\u306e\u30b3\u30f3\u30c6\u30ca\u306eservice\u306floadbalancer IP\u3067\u306f\u306a\u304fCluster IP\u3068\u3057\u3066\u3044\u308b\u3002<\/p>\n<p>loadbalancer IP\u306b\u3059\u308b\u3068\u304a\u91d1\u304c\u304b\u304b\u308b\u305f\u3081\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>apply\u30b3\u30de\u30f3\u30c9\u3067\u30b3\u30f3\u30c6\u30ca\u3092Deploy<\/p>\n<pre class=\"lang:default decode:true\">kubectl apply -f example.yaml<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u904b\u7528\u306e\u305f\u3081\u306eIngress-Nginx\u3092Deploy<\/h3>\n<p>Amazon Linux\u3067\u306e\u904b\u7528\u3067\u306fNginx\u3092\u914d\u5099\u3057\u3066\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3054\u3068\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5404\u30b3\u30f3\u30c6\u30ca\u306b\u632f\u308a\u5206\u3051\u3066\u3044\u305f\u306e\u3067\u3001GKE\u3067\u3082\u540c\u3058\u69cb\u6210\u306b\u3059\u308b<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/cloud.google.com\/community\/tutorials\/nginx-ingress-gke\" target=\"_blank\">https:\/\/cloud.google.com\/community\/tutorials\/nginx-ingress-gke<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/storage.googleapis.com\/gcp-community\/tutorials\/nginx-ingress-gke\/Nginx%20Ingress%20on%20GCP%20-%20Fig%2001.png\" alt=\"image\" \/><\/p>\n<h4 id=\"fMhmQhl\">Helm\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h4>\n<p>GKE\u306eGUI\u3067GCP Shell\u3092\u8d77\u52d5\u3055\u305b\u3066\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u767a\u884c<\/p>\n<pre class=\"lang:default decode:true\">curl -o get_helm.sh https:\/\/raw.githubusercontent.com\/kubernetes\/helm\/master\/scripts\/get\r\nchmod +x get_helm.sh\r\n.\/get_helm.sh<\/pre>\n<h4><\/h4>\n<h4>Tiller\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h4>\n<p>GCP Shell\u3067\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u767a\u884c<\/p>\n<pre class=\"lang:default decode:true\">kubectl 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<\/pre>\n<p>Tiller\u306e\u52d5\u4f5c\u78ba\u8a8d<\/p>\n<pre class=\"lang:default decode:true\">kubectl get deployments -n kube-system<\/pre>\n<p>tiller_deploy Pod\u304c\u7a3c\u50cd\u3057\u3066\u3044\u308c\u3070OK<\/p>\n<p>&nbsp;<\/p>\n<h4>NGINX Ingress Controller\u3092Deploy<\/h4>\n<pre class=\"lang:default decode:true\">helm install --name nginx-ingress stable\/nginx-ingress --set rbac.create=true --set controller.publishService.enabled=true<\/pre>\n<p>Nginx Controller\u306bGlobal IP\u304c\u6255\u3044\u51fa\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d<\/p>\n<pre class=\"lang:default decode:true\">kubectl get service nginx-ingress-controller<\/pre>\n<p>&nbsp;<\/p>\n<h3>Nginx\u8ee2\u9001\u30eb\u30fc\u30ebyaml<\/h3>\n<p>\u30b5\u30d6\u30c9\u30e1\u30a4\u30f3\u3067\u5148\u307b\u3069\u306edokuwiki\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306bNginx\u3092\u8a2d\u5b9a\u3059\u308b<\/p>\n<p>GCP Shell\u3092\u8d77\u52d5\u3055\u305b\u3066Editor\u3092\u8d77\u52d5<\/p>\n<p>Explorer\u4e0a\u3067\u65b0\u3057\u304f\u300cingress-nginx.yaml\u300d\u3092\u4f5c\u6210\u3059\u308b<\/p>\n<pre class=\"lang:default decode:true\">apiVersion: extensions\/v1beta1\r\nkind: Ingress\r\nmetadata:\r\n name: ingress-resource\r\n annotations:\r\n kubernetes.io\/ingress.class: nginx\r\n nginx.ingress.kubernetes.io\/ssl-redirect: \"false\" \r\nspec:\r\n rules:\r\n - host: sub.example.info\r\n http:\r\n paths:\r\n - path: \/\r\n backend:\r\n serviceName: example-dokuwiki-service\r\n servicePort: 80<\/pre>\n<p>\u4e0a\u8a18Yaml\u3067sub.example.info\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304d\u305f\u3089\u3001example-dokuwiki-service\u306b\u8ee2\u9001\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>ingress-nginx.yaml\u3092Apply<\/p>\n<pre class=\"lang:default decode:true\">kubectl apply -f ingress-nginx.yaml<\/pre>\n<p>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092SSL\u5316\u3057\u305f\u3044\u5834\u5408\u306f\u4e0b\u8a18\u53c2\u7167<\/p>\n<p><a href=\"http:\/\/blue-bear.jp\/kb\/gke-ingress-nginx%e9%85%8d%e4%b8%8b%e3%81%aeweb%e3%82%b5%e3%83%bc%e3%83%90%e7%94%a8%e3%81%aessl%e8%a8%bc%e6%98%8e%e6%9b%b8%e3%82%92cert-manager%e3%81%a7%e4%bb%98%e4%b8%8e%e3%81%99%e3%82%8b%e6%96%b9\/\">[GKE] ingress-nginx\u914d\u4e0b\u306eweb\u30b5\u30fc\u30d0\u7528\u306eSSL\u8a3c\u660e\u66f8\u3092cert-manager\u3067\u4ed8\u4e0e\u3059\u308b\u65b9\u6cd5<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes\u30b5\u30fc\u30d3\u30b9\u3092\u6bd4\u8f03\u3057\u305f\u7d50<\/p>\n","protected":false},"author":1,"featured_media":2211,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/2222"}],"collection":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/comments?post=2222"}],"version-history":[{"count":5,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/2222\/revisions"}],"predecessor-version":[{"id":2232,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/2222\/revisions\/2232"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/media\/2211"}],"wp:attachment":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/media?parent=2222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/categories?post=2222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/tags?post=2222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}