Closed8

skaffold quickstart

ぺこぺこ

Install

  • skaffold
asdf plugin add skaffold
asdf install skaffold latest
skaffold -v
  • kubectl
    • already installed by Docker Desktop
kubectl version
  • minikube
asdf plugin add minikube
asdf install minikube latest
minikube version

Setup version

asdf current skaffold 2.6.1
asdf current minikube 1.30.1
ぺこぺこ

Clone the sample app

git clone https://github.com/GoogleContainerTools/skaffold
cd skaffold/examples/buildpacks-node-tutorial
ぺこぺこ

Bootstrap Skaffold configuration

skaffold init
  • when prompt, set default
output
You can now run [skaffold build] to build the artifacts
or [skaffold run] to build and deploy
or [skaffold dev] to enter development mode, with auto-redeploy
ぺこぺこ

Start minikube

minikube start --profile custom
output
😄  Darwin 11.7.8 上の [custom] minikube v1.30.1
✨  docker ドライバーが自動的に選択されました。他の選択肢: hyperkit, qemu2, virtualbox, ssh
📌  root 権限を持つ Docker Desktop ドライバーを使用
👍  custom クラスター中のコントロールプレーンの custom ノードを起動しています
🚜  ベースイメージを取得しています...
💾  ロード済み Kubernetes v1.26.3 をダウンロードしています...
    > preloaded-images-k8s-v18-v1...:  397.02 MiB / 397.02 MiB  100.00% 2.11 Mi
    > gcr.io/k8s-minikube/kicbase...:  373.53 MiB / 373.53 MiB  100.00% 2.00 Mi
🔥  docker container (CPUs=2, Memory=1987MB) を作成しています...
🐳  Docker 23.0.2 で Kubernetes v1.26.3 を準備しています...
    ▪ 証明書と鍵を作成しています...
    ▪ コントロールプレーンを起動しています...
    ▪ RBAC のルールを設定中です...
🔗  bridge CNI (コンテナーネットワークインターフェース) を設定中です...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl のバージョンは 1.19.7 で、Kubernetes 1.26.3 と互換性がないかもしれません。
    ▪ kubectl v1.26.3 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください
🏄  終了しました!kubectl がデフォルトで「custom」クラスターと「default」ネームスペースを使用するよう設定されました
skaffold config set --global local-cluster true
minikube -p custom docker-env
output
🤷  このコマンドではコントロールプレーンノードが実行中でなければなりません
👉  クラスターを起動するためには、「minikube start -p custom」を実行します
minikube start -p custom
output
😄  Darwin 11.7.8 上の [custom] minikube v1.30.1
✨  既存のプロファイルを元に、docker ドライバーを使用します
👍  custom クラスター中のコントロールプレーンの custom ノードを起動しています
🚜  ベースイメージを取得しています...
🔄  「custom」のために既存の docker container を再起動しています...
🐳  Docker 23.0.2 で Kubernetes v1.26.3 を準備しています...
🔗  bridge CNI (コンテナーネットワークインターフェース) を設定中です...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl のバージョンは 1.19.7 で、Kubernetes 1.26.3 と互換性がないかもしれません。
    ▪ kubectl v1.26.3 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください
🏄  終了しました!kubectl がデフォルトで「custom」クラスターと「default」ネームスペースを使用するよう設定されました
minikube kubectl -- get pods -A
output
    > kubectl.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
    > kubectl:  51.29 MiB / 51.29 MiB [------------] 100.00% 12.74 MiB p/s 4.2s
error: no server found for cluster "minikube"
minikube -p custom docker-env
output
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://127.0.0.1:63507"
export DOCKER_CERT_PATH="/Users/shigeo.tejima/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="custom"

# To point your shell to minikube's docker-daemon, run:
# eval $(minikube -p custom docker-env)
eval $(minikube -p custom docker-env)
ぺこぺこ

Use skaffold dev

skaffold dev

another terminal

minikube tunnel -p custom
output
✅  トンネルが無事開始しました

📌  注意: トンネルにアクセスするにはこのプロセスが存続しなければならないため、このターミナルはクローズしないでください ...

🏃  web サービス用のトンネルを起動しています。
ぺこぺこ

Stop minikube

minikube stop
output
🤷  「minikube」プロファイルが見つかりません。全プロファイルを表示するために「minikube profile list」を実行してください。
👉  クラスターを起動するためには、「minikube start」を実行します
minikube profile list
output
|---------|-----------|---------|--------------|------|---------|---------|-------|--------|
| Profile | VM Driver | Runtime |      IP      | Port | Version | Status  | Nodes | Active |
|---------|-----------|---------|--------------|------|---------|---------|-------|--------|
| custom  | docker    | docker  | 192.168.49.2 | 8443 | v1.26.3 | Running |     1 |        |
|---------|-----------|---------|--------------|------|---------|---------|-------|--------|
minikube stop -p custom
output
✋  「custom」ノードを停止しています...
🛑  SSH 経由で「custom」の電源をオフにしています...
🛑  1 台のノードが停止しました。
minikube status -p custom
output
custom
type: Control Plane
host: Stopped
kubelet: Stopped
apiserver: Stopped
kubeconfig: Stopped
このスクラップは2023/07/11にクローズされました