環境
- Windows10 Pro
- minikube
helmとは
- k8s用のパッケージマネージャー Linuxでyumとかにあたるもの
- kubectlコマンドでymalファイルを使う場合、そのyamlファイルを作ってあげないといけない。それらの置き場所がインターネット上のリポジトリにあり、そこを参照してダウンロード、デプロイまでしてくれる
手順
準備
1 2 3 4 5 6 7 |
mkdir C:\tools\helm\ Invoke-WebRequest -Uri https://storage.googleapis.com/kubernetes-helm/ helm-v2.13.0-windows-amd64.zip -OutFile C:\tools\helm\ helm-v2.13.0-windows-amd64.zip cd C:\tools\helm\ Expand-Archive -Path C:\tools\helm\helm-v2.13.0-windows-amd64.zip move .\helm-v2.13.0-windows-amd64\windows-amd64\helm.exe . |
環境変数設定
初期設定
1 |
helm init |
インストール確認
1 |
helm version |
サンプルアプリケーションをデプロイする
クラスタロールを作成する
Tillerを使うために必要で、helmコマンド実行時に動作するPod。
helmでデプロイされるPodたちを管理するPod的なイメージだと思う
clusterrole.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<span class="na">apiVersion</span><span class="pi">:</span> <span class="s">rbac.authorization.k8s.io/v1</span> <span class="na">kind</span><span class="pi">:</span> <span class="s">ClusterRole</span> <span class="na">metadata</span><span class="pi">:</span> <span class="na">annotations</span><span class="pi">:</span> <span class="s">rbac.authorization.kubernetes.io/autoupdate</span><span class="pi">:</span> <span class="s2">"</span><span class="s">true"</span> <span class="na">labels</span><span class="pi">:</span> <span class="s">kubernetes.io/bootstrapping</span><span class="pi">:</span> <span class="s">rbac-defaults</span> <span class="na">name</span><span class="pi">:</span> <span class="s">cluster-admin</span> <span class="na">rules</span><span class="pi">:</span> <span class="pi">-</span> <span class="na">apiGroups</span><span class="pi">:</span> <span class="pi">-</span> <span class="s1">'</span><span class="s">*'</span> <span class="na">resources</span><span class="pi">:</span> <span class="pi">-</span> <span class="s1">'</span><span class="s">*'</span> <span class="na">verbs</span><span class="pi">:</span> <span class="pi">-</span> <span class="s1">'</span><span class="s">*'</span> <span class="pi">-</span> <span class="na">nonResourceURLs</span><span class="pi">:</span> <span class="pi">-</span> <span class="s1">'</span><span class="s">*'</span> <span class="na">verbs</span><span class="pi">:</span> <span class="pi">-</span> <span class="s1">'</span><span class="s">*'</span> |
クラスタロールをデプロイ
1 |
kubectl create -f .\cluserrole.yaml |
1 2 3 |
.\kubectl.exe create serviceaccount -n kube-system tiller .\kubectl.exe create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller |
1 |
helm init --service-account tiller |
デプロイされているか確認
1 |
.\kubectl.exe --namespace kube-system get pods |
Redisをインストール
1 |
helm install stable/redis --set serviceType=NodePort |
デプロイされているか確認
1 2 3 4 5 6 |
PS C:\Users\yuta> .\kubectl.exe get pod NAME READY STATUS RESTARTS AGE linting-sparrow-redis-master-0 1/1 Running 0 88s linting-sparrow-redis-slave-0 1/1 Running 0 88s linting-sparrow-redis-slave-1 1/1 Running 0 32s PS C:\Users\yuta> |