Windows の Docker Desktop(with Kubernetes)に Eclipse Che をデプロイした - mikoto2000 の日記 でとりあえず動くようにした。
今回は、手順を整理して後片付けの方法を追加。
前提
- OS: Windows10 Pro
- Docker: Docker version 19.03.1, build 74b1e89
- helm: v2.14.2
- Docker Desktop の Kubernetes 有効化済み
- Docker Desktop の Kubernetes を使う
- インストールする che: 7.0.0-rc-4.0
現状確認
Docker Desktop の Kubernetes をリセットした直後の状態を確認。
PS C:\Users\mikoto\project> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
docker compose-6c67d745f6-c2pvf 1/1 Running 0 39m
docker compose-api-57ff65b8c7-pnbwk 1/1 Running 0 39m
kube-system coredns-fb8b8dccf-vt5p9 1/1 Running 0 40m
kube-system coredns-fb8b8dccf-wz7s7 1/1 Running 0 40m
kube-system etcd-docker-desktop 1/1 Running 0 39m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 39m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 40m
kube-system kube-proxy-lbnfv 1/1 Running 0 40m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 40m
うん、こんなもんでしょう。
che の環境構築
che のソースコード取得
clone して checkout。
cd ~/project
git clone https://github.com/eclipse/che.git
cd che
git checkout -b 7.0.0-rc-4.0 refs/tags/7.0.0-rc-4.0
$CHE_SOURCE=$(pwd)
helm のインストール
Chocolatey でインストール。PowerShell を管理者で開いて下記コマンドを実行。
choco install kubernetes-helm
tiller のデプロイ
kubectl apply
して helm init
。
cd $CHE_SOURCE\deploy\kubernetes\helm\che
kubectl apply -f .\tiller-rbac.yaml
helm init --service-account tiller --wait
pod が増えているのを確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
docker compose-6c67d745f6-c2pvf 1/1 Running 0 41m
docker compose-api-57ff65b8c7-pnbwk 1/1 Running 0 41m
kube-system coredns-fb8b8dccf-vt5p9 1/1 Running 0 42m
kube-system coredns-fb8b8dccf-wz7s7 1/1 Running 0 42m
kube-system etcd-docker-desktop 1/1 Running 0 41m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 41m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 42m
kube-system kube-proxy-lbnfv 1/1 Running 0 42m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 42m
kube-system tiller-deploy-7f656b499f-7dblh 1/1 Running 0 13s
tiller っぽいのが増えてる。
ingress のデプロイ
ingress をデプロイ。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
pod の確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
docker compose-6c67d745f6-c2pvf 1/1 Running 0 42m
docker compose-api-57ff65b8c7-pnbwk 1/1 Running 0 42m
ingress-nginx nginx-ingress-controller-86449c74bb-8tfdn 1/1 Running 0 65s
kube-system coredns-fb8b8dccf-vt5p9 1/1 Running 0 43m
kube-system coredns-fb8b8dccf-wz7s7 1/1 Running 0 43m
kube-system etcd-docker-desktop 1/1 Running 0 42m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 42m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 43m
kube-system kube-proxy-lbnfv 1/1 Running 0 43m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 43m
kube-system tiller-deploy-7f656b499f-7dblh 1/1 Running 0 86s
NAMESPACE
が ingress-nginx
のものが二つ増えている。
ingress が提供するサービスの IP アドレスをメモ。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> kubectl get services --namespace ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx LoadBalancer 10.101.143.26 localhost 80:31131/TCP,443:31708/TCP 79s
TYPE
が LoadBalancer
の CLUSTER-IP
をメモする。この場合は 10.101.143.26
。 以降は $CHE_DOMAIN
にメモした IP を設定したこととして進める。
ループバックアドレスの設定
Powershell を管理者権限で開いて、 netsh
コマンドでループバックアドレスを追加する。
netsh interface ipv4 add address Loopback 10.101.143.26
che のデプロイ
cd $CHE_SOURCE\deploy\kubernetes\helm\che
helm dependency update
helm upgrade --install che --namespace che --set cheImage=eclipse/che-server:7.0.0-rc-4.0 --set global.cheWorkspacesNamespace="che" --set global.ingressDomain=${CHE_DOMAIN}.nip.io ./
pod の確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
che che-8845cb9c4-rgl4h 1/1 Running 0 29s
che devfile-registry-974dd957f-4l9bf 1/1 Running 0 29s
che plugin-registry-75bfd884cf-6lbc5 1/1 Running 0 29s
docker compose-6c67d745f6-c2pvf 1/1 Running 0 48m
docker compose-api-57ff65b8c7-pnbwk 1/1 Running 0 48m
ingress-nginx nginx-ingress-controller-86449c74bb-8tfdn 1/1 Running 0 7m18s
kube-system coredns-fb8b8dccf-vt5p9 1/1 Running 0 49m
kube-system coredns-fb8b8dccf-wz7s7 1/1 Running 0 49m
kube-system etcd-docker-desktop 1/1 Running 0 48m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 48m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 49m
kube-system kube-proxy-lbnfv 1/1 Running 0 49m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 49m
kube-system tiller-deploy-7f656b499f-7dblh 1/1 Running 0 7m39s
NAMESPACE
が che
のものが 3 つ増えている。
che にアクセス
http://che-che.${CHE_DOMAIN}.nip.io
にアクセスすると、 che の画面が開く。
start http://che-che.${CHE_DOMAIN}.nip.io
後片付け
ループバックアドレスの削除
管理者権限で開いた Powershell で以下のコマンドを実行。
netsh interface ipv4 delete address Loopback $CHE_DOMAIN
che の削除
helm delete --purge
で削除できる。
cd $CHE_SOURCE\deploy\kubernetes\helm\che
helm delete --purge che
ingress の削除
こちらも kubectl delete
で削除。
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
tiller の削除
これで Kubernetes 上の tiller も消えるっぽい。
helm reset --force
helm の削除
choco コマンドで削除。
choco uninstall kubernetes-helm
0 件のコメント:
コメントを投稿