前提
- ウインドウズ10
- eksctl
- EKSュートチリアルをなぞてります
いざ尋常に
Chocolatelyのインストール
1 2 3 4 5 |
@ "%SystemRoot%\ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex((New-Object System.Net.WebClient).DownloadString ( 'https:// chocolatey .org / install.ps1 ')) "&& SET" PATH =%PATH%; %ALLUSERSPROFILE%\ chocolatey \ bin " |
eksctlインストール
1 |
chocolatey install -y eksctl aws-iam-authenticator |
インストール確認
1 |
eksctlバージョン |
クラスターを展開
1 2 3 |
eksctl create cluster --name prod --version 1.13 --nodegroup-name standard-workers --node-type t3.medium --nodes 3 --nodes-min 1 --nodes-max 4 --node-ami auto |
内部的には、CloudFormationが実行されているみたい
kubectlがインストールされていないみたいだ
kubectlのインストール
Pathを通さなくてもいいようにC:\WINDOWS\system32
に作っちゃえ
1 |
C:\ WINDOWS \ system32> curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/windows/amd64/kubectl.exe |
サービスを見てみると、Kubernetesというサービスが上がっている
1 2 3 |
C:\ WINDOWS \ system32> kubectl.exe get svc 名前タイプクラスターIP外部IPポート年齢 kubernetes ClusterIP 10.100.0.1 <なし> 443 / TCP 10m |
ダッシュボード用のyamlファイルを展開
1 2 3 4 5 6 7 8 9 10 |
C:\ WINDOWS \ system32> kubectl apply -f https://raw.githubusercontent .com/kubernetes/dashboard/v1.10.1/src/deploy/recommended /kubernetes-dashboard.yaml secret / kubernetes-dashboard-certsが作成されました serviceaccount / kubernetes-dashboardが作成されました role.rbac.authorization.k8s.io/kubernetes-dashboard-minimalが作成されました rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimalが 作成されました deployment.apps / kubernetes-dashboardが作成されました service / kubernetes-dashboardが作成されました |
コンテナリソースのモニタリングなどを担当してくれるらしいheapsterを展開
1 2 3 4 5 |
C:\ WINDOWS \ system32> kubectl apply -f https://raw.githubusercontent.com /kubernetes/heapster/master/deploy/kube-config/influxdb/heapster.yaml serviceaccount / heapsterが作成されました deployment.extensions / heapsterが作成されました 作成されたサービス/ヒープ |
heapsterのバックエンドデータベースとなるinfluxdbを展開
1 2 3 4 |
C:\ WINDOWS \ system32> kubectl apply -f https://raw.githubusercontent.com /kubernetes/heapster/master/deploy/kube-config/influxdb/influxdb.yaml deployment.extensions / monitoring-influxdbが作成されました service / monitoring-influxdbが作成されました |
ダッシュボードのheapsterクラスターロールスケジューラ
1 2 |
C:\ WINDOWS \ system32> kubectl apply -f https://raw.githubusercontent.com/kubernetes/heapster/master/deploy/kube-config/rbac/heapster-rbac.yaml clusterrolebinding.rbac.authorization.k8s.io/heapsterが作成されました |
ダッシュボードへアクセスできるようにサービスアカウントを作成
eks-admin-service-account.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<span class="na">apiVersion </span><span class="pi">:</span> <span class="s">v1 </span> <span class="na">種類</span><span class="pi">:</span> <span class="s">ServiceAccount </span> <span class="na">メタデータ</span><span class="pi">:</span> <span class="na">名前</span><span class="pi">:</span> <span class="s">eks-admin </span> <span class="na">名前空間</span><span class="pi">:</span> <span class="na">kube </span><span class="s">-system </span> <span class="nn">--- </span> <span class="na">apiVersion </span><span class="pi">:</span> <span class="s">rbac.authorization.k8s.io/v1beta1 </span> <span class="na">種類</span><span class="pi">:</span> <span class="s">ClusterRoleBinding </span> <span class="na">メタデータ</span><span class="pi">:</span> <span class="na">名前</span><span class="pi">:</span> <span class="s">eks-admin </span> <span class="na">roleRef </span><span class="pi">:</span> <span class="na">apiGroup </span><span class="pi">:</span> <span class="s">rbac.authorization。 k8s.io </span> <span class="na">種類</span><span class="pi">:</span> <span class="s">ClusterRole </span> <span class="na">名</span><span class="pi">:</span> <span class="s">cluster-admin </span> <span class="na">サブジェクト</span><span class="pi">:</span> <span class="pi">- </span> <span class="na">種類</span><span class="pi">:</span> <span class="s">ServiceAccount </span> <span class="na">名</span><span class="pi">:</span> <span class="s">EKS管理者</span> <span class="na">のネームスペース</span><span class="pi">:</span> <span class="s">KUBE-システム</span> |
上で作ったyamlファイルを展開
1 2 3 4 |
C:\ WINDOWS \ system32> kubectl apply -fc:\ Users \ yuta \ Downloads \ eks-admin-service-account.yaml serviceaccount / eks-adminが作成されました clusterrolebinding.rbac.authorization.k8s.io/eks-adminが作成されました |
トークンを取得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
C:\ WINDOWS \ system32> kubectl -n kube-system describe secret eks-admin-token-62ksw 名前:eks-admin-token-62ksw 名前空間:kube-system ラベル:<なし> アノテーション:kubernetes.io/service-account.name:eks-admin kubernetes.io/service-account.uid:cb651adb-cd4b-11e9 -b3a3-06c60c4db86a タイプ:kubernetes.io/service-account-token データ ==== ca.crt:1025バイト 名前空間:11バイト トークン:eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9 .eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2 aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2 VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJla3MtYWRtaW4tdG9rZW4tNjJrc3ciLCJrdWJlcm5 ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZWtzLWFkbWluIiwi a3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiY2I2NTFhZ GItY2Q0Yi0xMWU5LWIzYTMtMDZjNjBjNGRiODZhIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW 50Omt1YmUtc3lzdGVtOmVrcy1hZG1pbiJ9。knete3qk-RkMIOVeYBtCD1fFxO1uNN2-42CGpRoape TOBZM3zHmHF6Q1D_NovuALCeRFKaJJpHIiGsoq16iwNfGToUvKfoQPMHcqeMTQ33YUh4iScmbq 7XjBIh5wN-Vf6jUzJ9bJhUZ2hNxCVcvjUcRu2JU02phwddusg_nrd3CsPFu3mhuD7HuaYo8ZC66 kKBalhe3q4ceWOURjp59ak2b81NR6fjazatv_Y-VQkh57LRouqEbdlb7lWN2tgLpiSzXZYBJkcH3 t2qzfsiOGlg4lcuh2_JyJO2byGezzGStfz2ZS7GbJWGgg9VPQ9zM_adMI78kIqiyjV63vakck-Q |
Dashboardコンテナへ接続できるようにする(コンソール放置しておく)
1 2 |
C:\ WINDOWS \ system32> kubectlプロキシ 127.0.0.1:8001での配信を開始 |
ダッシュボードへのアクセス
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
上記コマンドで取得したトークンを入力し、サインイン