Docker Desktop(Windows版) で Eclipse Che を動かす 2020/6/11 版。
前回使っていなかったので、今回も chectl
は使用しません。使ったほうが楽なはず。
前提
- OS: Windows10 Pro
- Docker: Docker version 19.03.8, build afacb8b
- helm: version.BuildInfo{Version:“v3.2.3”, GitCommit:“8f832046e258e2cb800894579b1b3b50c2d83492”, GitTreeState:“clean”, GoVersion:“go1.13.12”}
- Docker Desktop の Kubernetes 有効化済み
- Docker Desktop の Kubernetes を使う
- インストールする che: 7.4.0
現状確認
Docker Desktop の Kubernetes をリセットした直後の状態を確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
docker compose-78f95d4f8c-67gg5 1/1 Running 0 8m41s
docker compose-api-6ffb89dc58-zjnb6 1/1 Running 0 8m41s
kube-system coredns-5644d7b6d9-rlb55 1/1 Running 0 9m58s
kube-system coredns-5644d7b6d9-z4fx8 1/1 Running 0 9m58s
kube-system etcd-docker-desktop 1/1 Running 0 8m42s
kube-system kube-apiserver-docker-desktop 1/1 Running 0 8m48s
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 8m43s
kube-system kube-proxy-pv8dq 1/1 Running 0 9m58s
kube-system kube-scheduler-docker-desktop 1/1 Running 0 9m9s
kube-system storage-provisioner 1/1 Running 0 8m42s
kube-system vpnkit-controller 1/1 Running 0 8m42s
che の環境構築
che のソースコード取得
clone。
helm のインストール
Chocolatey でインストール。PowerShell を管理者で開いて下記コマンドを実行。
インストール済みであればアップグレード。
ingress のデプロイ
ingress をデプロイ。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/cloud/deploy.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-78f95d4f8c-67gg5 1/1 Running 0 12m
docker compose-api-6ffb89dc58-zjnb6 1/1 Running 0 12m
ingress-nginx ingress-nginx-admission-create-vrgbk 0/1 Completed 0 113s
ingress-nginx ingress-nginx-admission-patch-dvjk6 0/1 Completed 0 113s
ingress-nginx ingress-nginx-controller-5cc4589cc8-kz9f5 1/1 Running 0 2m3s
kube-system coredns-5644d7b6d9-rlb55 1/1 Running 0 13m
kube-system coredns-5644d7b6d9-z4fx8 1/1 Running 0 13m
kube-system etcd-docker-desktop 1/1 Running 0 12m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 12m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 12m
kube-system kube-proxy-pv8dq 1/1 Running 0 13m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 13m
kube-system storage-provisioner 1/1 Running 0 12m
kube-system vpnkit-controller 1/1 Running 0 12m
NAMESPACE
が ingress-nginx
のものが 3 つ増えている。(うち 2 つは Completed)
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-controller LoadBalancer 10.96.64.235 localhost 80:32686/TCP,443:32705/TCP 2m58s
ingress-nginx-controller-admission ClusterIP 10.98.91.42 <none> 443/TCP 2m58s
TYPE
が LoadBalancer
の CLUSTER-IP
をメモする。この場合は 10.96.64.235
。 以降は $CHE_IP
にメモした IP を設定したこととして進める。
ループバックアドレスの設定
Powershell を管理者権限で開いて、 netsh
コマンドでループバックアドレスを追加する。
start-process -verb runas powershell -ArgumentList netsh,interface,ipv4,add,address,Loopback,$CHE_IP
追加されたことを確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> netsh interface ipv4 show address Loopback
インターフェイスの構成 "Loopback Pseudo-Interface 1"
DHCP 有効: いいえ
IP アドレス: 10.96.64.235
サブネット プレフィックス: 10.0.0.0/8 (マスク 255.0.0.0)
che のデプロイ
kubectl create namespace che
cd $CHE_SOURCE\deploy\kubernetes\helm\che
helm dependency update
helm upgrade --install che --namespace che --set global.cheWorkspacesNamespace="che" --set global.ingressDomain=${CHE_IP}.nip.io ./
アプリの確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> helm list -n che
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
che che 1 2020-06-11 01:39:49.0499342 +0900 JST deployed che-0.1.0
pod の確認。
PS C:\Users\mikoto\project\che\deploy\kubernetes\helm\che> kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
che che-976cb79f5-zzffd 1/1 Running 0 79s
che devfile-registry-d9fd7f648-wblg8 1/1 Running 0 79s
che plugin-registry-58587b799b-947tb 1/1 Running 0 79s
docker compose-78f95d4f8c-67gg5 1/1 Running 0 30m
docker compose-api-6ffb89dc58-zjnb6 1/1 Running 0 30m
ingress-nginx ingress-nginx-admission-create-vrgbk 0/1 Completed 0 19m
ingress-nginx ingress-nginx-admission-patch-dvjk6 0/1 Completed 0 19m
ingress-nginx ingress-nginx-controller-5cc4589cc8-kz9f5 1/1 Running 0 19m
kube-system coredns-5644d7b6d9-rlb55 1/1 Running 0 31m
kube-system coredns-5644d7b6d9-z4fx8 1/1 Running 0 31m
kube-system etcd-docker-desktop 1/1 Running 0 30m
kube-system kube-apiserver-docker-desktop 1/1 Running 0 30m
kube-system kube-controller-manager-docker-desktop 1/1 Running 0 30m
kube-system kube-proxy-pv8dq 1/1 Running 0 31m
kube-system kube-scheduler-docker-desktop 1/1 Running 0 30m
kube-system storage-provisioner 1/1 Running 0 30m
kube-system vpnkit-controller 1/1 Running 0 30m
NAMESPACE
が che
のものが 3 つ増えている。
che にアクセス
http://che-che.${CHE_IP}.nip.io
にアクセスすると、 che の画面が開く。
後片付け
ループバックアドレスの削除
管理者権限で開いた Powershell で以下のコマンドを実行。
start-process -verb runas powershell -ArgumentList netsh,interface,ipv4,delete,address,Loopback,$CHE_IP
che の削除
helm delete --purge
で削除できる。
ingress の削除
こちらも kubectl delete
で削除。
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/cloud/deploy.yaml
helm の削除
choco コマンドで削除。
0 件のコメント:
コメントを投稿