Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSS Gate Workshop: online: 2023-09-30: aseiide: minikube: Work log #1673

Closed
Aseiide opened this issue Sep 30, 2023 · 58 comments
Closed

OSS Gate Workshop: online: 2023-09-30: aseiide: minikube: Work log #1673

Aseiide opened this issue Sep 30, 2023 · 58 comments

Comments

@Aseiide
Copy link
Contributor

Aseiide commented Sep 30, 2023

This is a work log of a "OSS Gate workshop".
"OSS Gate workshop" is an activity to increase OSS developers.
Here's been discussed in Japanese. Thanks.

作業ログ作成時の説明

以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。

OSS Gate Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${ACCOUNT_NAME}: ${OSS_NAME}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

  • スライド:ワークショップの進行に使っているスライドがあります。
  • チャット:OSS開発に関することならなんでも相談できます。ワークショップが終わった後もオンラインで相談しながら継続的にOSSの開発に参加しましょう!
  • シナリオ:ワークショップの目的・内容・進め方の詳細が書いています。
  • 過去のビギナーの作業ログ:他の人の作業ログから学べることがいろいろあるはずです。
@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

https://github.com/kubernetes/minikube

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

プロジェクトを決定した。
https://minikube.sigs.k8s.io/docs/

Github repo
https://github.com/kubernetes/minikube

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

ライセンスは Apache2.0 なのでOSSとして扱ってよい
https://github.com/kubernetes/minikube/blob/master/LICENSE

@Aseiide Aseiide changed the title OSS Gate Workshop: online: 2023-09-30: aseiide: ${OSS_NAME}: Work log OSS Gate Workshop: online: 2023-09-30: aseiide: minikube: Work log Sep 30, 2023
@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

これから実際に動かしていく
https://minikube.sigs.k8s.io/docs/
https://minikube.sigs.k8s.io/docs/start/

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

Linux, macOS, Windowsで動くようになっているらしい。
自分の環境は macOSなのでmac用のインストール手順に従って進めていく
https://minikube.sigs.k8s.io/docs/start/

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

Homebrew経由とbinaryダウンロードの二種類がある様子。
スクリーンショット 2023-09-30 11 49 37

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

一旦、homebrewでstableを入れてみる。
brew install minikube を実行

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

実行結果

brew install minikube
Running `brew update --auto-update`...
==> homebrew/core is old and unneeded, untapping to save space...
Untapping homebrew/core...
Untapped 3 commands and 6732 formulae (7,315 files, 819.5MB).
==> homebrew/cask is old and unneeded, untapping to save space...
Untapping homebrew/cask...
Untapped 4270 casks (4,565 files, 414.9MB).
==> Auto-updated Homebrew!
Updated 5 taps (heroku/brew, homebrew/services, aws/tap, homebrew/core and homebrew/cask).
==> New Formulae
apify-cli                      falcoctl                       mfem                           qalculate-qt
apprise                        fwupd                          mgis                           recoverpy
asn                            ggshield                       modsecurity                    scoutsuite
aws/tap/_aws-sam-cli           gickup                         mtbl                           spacer
aws/tap/_aws-sam-cli-nightly   gismo                          numbat                         sqlsmith
biome                          gitea                          orbiton                        squiid
blake3                         gotestwaf                      orcania                        surelog
build2                         helidon                        postgresql@16                  tailwindcss
caracal                        iocextract                     powerlevel10k                  talhelper
cargo-docset                   jr                             pter                           terraform-graph-beautifier
chaoskube                      json2ts                        pwned                          tf-profile
checkdmarc                     kosli-cli                      pyspelling                     udp2raw-multiplatform
cloud-sql-proxy                ldeep                          pystring                       uffizzi
cloudfox                       ldid-procursus                 python-click                   uhdm
colmap                         libgit2@1.6                    python-lxml                    vulkan-utility-libraries
cryptopp                       libimobiledevice-glue          python-markupsafe              vunnel
cyclonedx-gomod                libjcat                        python-mutagen                 web-ext
cyclonedx-python               libmapper                      python-pycurl                  woodpecker-cli
dovi_tool                      libxmlb                        python-pyparsing               yder
eza                            llvm@16                        python-pyproject-hooks
falco                          meson-python                   python-pytz
==> New Casks
aifun               cloudnet            hhkb                paulxstretch        rustrover           twelite-stage
akuity              draw-things         hypercal            playdate-mirror     sf                  wetype
ava                 dropshelf           kreya               proxy-audio-device  simple-web-server   wiso-steuer-2022
batteryboi          ecodms-client       meld-studio         recipeui            sparkplate          wiso-steuer-2023
chainner            expo-orbit          monotype            reqable             spundle             zui
clickhouse          finbar              mutedeck            rippling            telegram-a
clinq               floorp              muyu                routine             to-audio-converter
==> Deleted Installed Formulae
aws/tap/aws-sam-cli ✘

You have 129 outdated formulae and 3 outdated casks installed.

Warning: minikube 1.31.2 is already installed and up-to-date.
To reinstall 1.31.2, run:
  brew reinstall minikube

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

warningは出てるけどinstallはできたな

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

Warning: minikube 1.31.2 is already installed and up-to-date.すでに 1.31.2がインストールされてるよってことなので、一応バージョンを確認しておこう

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

minikube help を実行してversionを確認するためのコマンドを確認する

minikube は、開発ワークフロー用に最適化されたローカル Kubernetes
クラスターを構築・管理します。

基本的なコマンド:
  start            ローカルの Kubernetes クラスターを起動します
  status           ローカル Kubernetes クラスターの状態を取得します
  stop             ローカル Kubernetes クラスターを停止します
  delete           ローカルの Kubernetes クラスターを削除します
  dashboard        minikube クラスター内で動いている Kubernetes
のダッシュボードにアクセスします
  pause            Kubernetes を一時停止させます
  unpause          Kubernetes を停止解除します

イメージ用コマンド:
  docker-env       端末の docker-cli を minikube 内の Docker
エンジンに指定する手順を提供します。(minikube 内で直接 Docker
イメージを構築するのに便利です)
  podman-env       minikube の Podman サービスを使用するように環境を設定します
  cache            イメージキャッシュを管理します
  image            イメージを管理します

設定および管理コマンド:
  addons           minikube のアドオンを有効化または無効化します
  config           永続的な設定値を変更します
  profile          現在のプロファイル (クラスター) を取得または一覧表示します
  update-context   IP アドレスやポート番号が変わった場合に kubeconfig を更新してください

ネットワーキングおよび接続性コマンド:
  service          サービスに接続するための URL を返します
  tunnel           LoadBalancer サービスに接続します

高度なコマンド:
  mount            minikube に指定されたディレクトリーをマウントします
  ssh              minikube の環境にログインします (デバッグ用)
  kubectl          クラスターのバージョンに一致する kubectl バイナリーを実行します
  node             追加のノードを追加、削除またはリストアップします
  cp               指定したファイルを minikube にコピーします

トラブルシュート用コマンド:
  ssh-key          指定したノードの SSH 鍵のパスを取得します
  ssh-host         指定したノードの SSH ホスト鍵を取得します
  ip               指定したノードの IP アドレスを取得します
  logs             ローカルの Kubernetes クラスターをデバッグするためのログを返します
  update-check     使用中および最新の minikube バージョン番号を表示します
  version          minikube バージョンを表示します
  options          (全コマンドに適用される)
グローバルコマンドラインオプションの一覧を表示します。

Other Commands:
  completion       シェルのコマンド補完コードを生成します
  license          依存関係のライセンスをディレクトリーに出力します

Use "minikube <command> --help" for more information about a given command.

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

$ minikube version を実行し、 v1.31.2であることを確認。
warningは気にしなくて良さそうなので先へ進む

minikube version: v1.31.2
commit: fd7ecd9c4599bef9f04c0986c4a0187f98a4396e

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

https://minikube.sigs.k8s.io/docs/start/ の 2 Start your cluster に従って、 minikube start を実行する

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

minikube start
😄  Darwin 13.4 上の minikube v1.31.2
✨  既存のプロファイルを元に、hyperkit ドライバーを使用します
👍  minikube クラスター中のコントロールプレーンの minikube ノードを起動しています
🏃  実行中の hyperkit 「minikube」 VM を更新しています...
🐳  Docker 24.0.4 で Kubernetes v1.27.4 を準備しています...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください
🏄  終了しました!kubectl がデフォルトで「minikube」クラスターと「default」ネームスペースを使用するよう設定されました

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

なんか出た

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

明らかにおま環っぽい

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

メモ
よく考えたら、エラーメッセージが日本語で出ているのすごいな。
翻訳プロジェクトがあっても良さそう。

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

一旦、kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてくださいというメッセージがあるので、実行してみる。

実行結果

minikube kubectl -- get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS          AGE
kube-system   coredns-5d78c9869d-92w5l           1/1     Running   3 (6m40s ago)     31d
kube-system   etcd-minikube                      1/1     Running   2 (6m45s ago)     31d
kube-system   kube-apiserver-minikube            1/1     Running   2 (6m35s ago)     31d
kube-system   kube-controller-manager-minikube   1/1     Running   2 (6m45s ago)     31d
kube-system   kube-proxy-2xdc9                   1/1     Running   2 (6m46s ago)     31d
kube-system   kube-scheduler-minikube            1/1     Running   2 (6m45s ago)     31d
kube-system   storage-provisioner                1/1     Running   158 (6m45s ago)   31d

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

podの状況確認のコマンドだな

@Takuya-Sakai91
Copy link
Contributor

私用のため午前で失礼させていただきます!🙇‍♂️
ありがとうございました!!

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

午後、どうするか決めよう〜。

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

@natsuto6 こちらこそありがとうございました!

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

  • warningがでるのは気持ち悪いのでフィードバックしてよいかも
  • kubectlコマンドのバージョンを調べてみる

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

エラーメッセージがおかしいかも

usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

このエラーが出たけど、よくわからん
試したけど、minikube kubectl -- get pods -Aを実行しても互換性が解消されるような処理が走るわけではなかった

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

英語でメッセージを確認してみるといいかも。
LANG=Cをつけてコマンドを実行してみる

@miyanew
Copy link
Contributor

miyanew commented Sep 30, 2023

このへんですかね
minikube/translations/ja.json at f881b3340ef06fc61f1b3c3bf5556a1b53b528b8 · kubernetes/minikube

"{{.path}} is version {{.client_version}}, which may have incompatibilities with Kubernetes {{.cluster_version}}.":
"{{.path}} のバージョンは {{.client_version}} で、Kubernetes {{.cluster_version}} と互換性がないかもしれません。",

※コマンド実行結果
/usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。

"Want kubectl {{.version}}? Try 'minikube kubectl -- get pods -A'":
"kubectl {{.version}} が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください",

※コマンド実行結果
▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

$ LANG=C minikube start

😄  minikube v1.31.2 on Darwin 13.4
✨  Using the hyperkit driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🏃  Updating the running hyperkit "minikube" VM ...
❗  This VM is having trouble accessing https://registry.k8s.io
💡  To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳  Preparing Kubernetes v1.27.4 on Docker 24.0.4 ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: default-storageclass, storage-provisioner

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

ここからどうすっかな

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

英語の訳を間違っているわけではなさそう

// english ver
❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'
// jp ver
❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

1.27.4がいるなら、コマンドを提案してほしいし、いらないなら出さなくても良いのでは?

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

https://github.com/kubernetes/minikube/issues/new/choose
日本語のissueテンプレートがあった ↓

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

問題を再現するための手順:

minikube logs --file=logs.txt を実行して、このissueにログファイルをドラッグ&ドロップしてください

minikube start ではない場合は、失敗したコマンドの全出力:

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

minikube logs --file=logs.txt の結果
logs.txt

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

発生している問題

期待する結果

問題を再現するための手順:

  1. brew install minikube
  2. minikube start を実行すると、以下の結果になる。

minikube startの実行結果

😄  Darwin 13.4 上の minikube v1.31.2
✨  既存のプロファイルを元に、hyperkit ドライバーを使用します
👍  minikube クラスター中のコントロールプレーンの minikube ノードを起動しています
🏃  実行中の hyperkit 「minikube」 VM を更新しています...
🐳  Docker 24.0.4 で Kubernetes v1.27.4 を準備しています...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください
🏄  終了しました!kubectl がデフォルトで「minikube」クラスターと「default」ネームスペースを使用するよう設定されました
  1. minikube kubectl -- get pods -A を実行
NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-5d78c9869d-92w5l           1/1     Running   5 (28m ago)     32d
kube-system   etcd-minikube                      1/1     Running   4 (28m ago)     32d
kube-system   kube-apiserver-minikube            1/1     Running   4 (28m ago)     32d
kube-system   kube-controller-manager-minikube   1/1     Running   4 (28m ago)     32d
kube-system   kube-proxy-2xdc9                   1/1     Running   4 (28m ago)     32d
kube-system   kube-scheduler-minikube            1/1     Running   4 (28m ago)     32d
kube-system   storage-provisioner                1/1     Running   160 (28m ago)   32d

minikube logs --file=logs.txt を実行して、このissueにログファイルをドラッグ&ドロップしてください

logs.txt

minikube start ではない場合は、失敗したコマンドの全出力:

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

https://minikube.sigs.k8s.io/docs/start/
これまで2で止まっていたので、3へ進んで見る

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

このメッセージにより作業が止まる感じではない。

kubectl get po -Aを実行してpodの状況を確認できる。

NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-5d78c9869d-92w5l           1/1     Running   5 (33m ago)     32d
kube-system   etcd-minikube                      1/1     Running   4 (33m ago)     32d
kube-system   kube-apiserver-minikube            1/1     Running   4 (33m ago)     32d
kube-system   kube-controller-manager-minikube   1/1     Running   4 (33m ago)     32d
kube-system   kube-proxy-2xdc9                   1/1     Running   4 (33m ago)     32d
kube-system   kube-scheduler-minikube            1/1     Running   4 (33m ago)     32d
kube-system   storage-provisioner                1/1     Running   160 (33m ago)   32d

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

続いて、minikube dashboardを実行してダッシュボードも確認できる

スクリーンショット 2023-09-30 15 34 27

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

もやっとしてる感はあるんだけど、日本語として表現するのが難しい..

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

情報足りない
ユーザとして、追加の対応が必要なのか、無視して進んでいいのかが分かりづらい

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

タイトル案
メッセージ出力により混乱している
kubectlのバージョンアップが必要でしょうか?

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

提案内容
kubectlのバージョンアップが必要なのかどうかわからん

ので、必要ならコマンドを提示してほしいし、不要なら出さなくても良いのでは?

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

一旦、既存のissueで上がってないか探してみる

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

ちょっとわかったかも。
kubectlのバージョンを見ると、同じようなwarning出るな.

kubectl version --output=yaml
clientVersion:
  buildDate: "2022-05-24T12:26:19Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: darwin/amd64
kustomizeVersion: v4.5.4
serverVersion:
  buildDate: "2023-07-19T12:14:49Z"
  compiler: gc
  gitCommit: fa3d7990104d7c1f16943a67f11b154b71f6a132
  gitTreeState: clean
  gitVersion: v1.27.4
  goVersion: go1.20.6
  major: "1"
  minor: "27"
  platform: linux/amd64

WARNING: version difference between client (1.24) and server (1.27) exceeds the supported minor version skew of +/-1

@miyanew
Copy link
Contributor

miyanew commented Sep 30, 2023

WARNING: version difference between client (1.24) and server (1.27) exceeds the supported minor version skew of +/-1

わざわざサポート外Verのクライアントツールを初期インストールさせるんですね..minikube😅
あぁbrewの方か...

brew install minikube

@Aseiide
Copy link
Contributor Author

Aseiide commented Sep 30, 2023

はい、自分は homebrewで入れましたね

@github-actions
Copy link

おつかれさまでした!

ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません 👌

ワークショップの感想を集めています!

ブログなどに書かれた際は、このページへリンクの追加をお願いします 🙏

またの参加をお待ちしています!

@komagata
Copy link
Contributor

komagata commented Oct 4, 2023

@Aseiide こちらその後いかがでしょうか〜?
僕でもよろしければIssue文章のサポートなどもさせていただきます〜!

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 15, 2023

結局、気持ち悪さは 警告が出るのに、その警告に書かれているコマンドを実行しても意味がないということかな

出力される警告

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 15, 2023

この警告が出る原因としては、kubectlのバージョンが1.24.1であることが原因と考えられる

$ kubectl version --output=yaml
clientVersion:
  buildDate: "2022-05-24T12:26:19Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: darwin/amd64
kustomizeVersion: v4.5.4

Unable to connect to the server: dial tcp 192.168.64.3:8443: connect: host is down

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 15, 2023

だから、 minikube kubectl -- get pods -A' を試してみてくださいを提案するのではなく、kubectlのバージョンを確認するコマンドを提案したら良さそう

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 15, 2023

これで issue書けそうだな。
まずは日本語で書く

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 15, 2023

日本語バージョン
ref; #1673 (comment)

issueタイトル: warnigによってより混乱します

問題を再現するための手順:

  1. minikube startを実行
😄  Darwin 13.4 上の minikube v1.31.2
✨  既存のプロファイルを元に、hyperkit ドライバーを使用します
👍  minikube クラスター中のコントロールプレーンの minikube ノードを起動しています
🏃  実行中の hyperkit 「minikube」 VM を更新しています...
🐳  Docker 24.0.4 で Kubernetes v1.27.4 を準備しています...
🔎  Kubernetes コンポーネントを検証しています...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください
🏄  終了しました!kubectl がデフォルトで「minikube」クラスターと「default」ネームスペースを使用するよう設定されました
  1. minikube kubectl -- get pods -A を実行
NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-5d78c9869d-92w5l           1/1     Running   5 (28m ago)     32d
kube-system   etcd-minikube                      1/1     Running   4 (28m ago)     32d
kube-system   kube-apiserver-minikube            1/1     Running   4 (28m ago)     32d
kube-system   kube-controller-manager-minikube   1/1     Running   4 (28m ago)     32d
kube-system   kube-proxy-2xdc9                   1/1     Running   4 (28m ago)     32d
kube-system   kube-scheduler-minikube            1/1     Running   4 (28m ago)     32d
kube-system   storage-provisioner                1/1     Running   160 (28m ago)   32d

minikube logs --file=logs.txt を実行して、このissueにログファイルをドラッグ&ドロップしてください
logs.txt

発生している問題

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'minikube kubectl -- get pods -A' を試してみてください

という警告が出るが、minikube kubectl -- get pods -Aを実行してもpodの状態を確認できるだけで互換性を解決できるわけではない。
そのため、コマンド実行者が次のステップに進んでよいのか、先に互換性の問題を解決すべきなのか混乱してしまう。

私からの提案
kubectl version --output=yamlのようにkubectlのバージョンを確認するようなコマンドに変更してはどうだろうか?

❗  /usr/local/bin/kubectl のバージョンは 1.24.1 で、Kubernetes 1.27.4 と互換性がないかもしれません。
    ▪ kubectl v1.27.4 が必要ですか? 'kubectl version --output=yaml' でkubectlのバージョンを確認してください。

環境

  • OS: mac OS Ventura13.4
  • kubernetes: v1.27.4
  • kubectl
clientVersion:
  buildDate: "2022-05-24T12:26:19Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: darwin/amd64
kustomizeVersion: v4.5.4

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 16, 2023

英語バージョン

issue title: Ambiguous kubectl Version Compatibility Warning in minikube

Steps to reproduce the issue:

  1. Execute minikube start
😄  minikube v1.31.2 on Darwin 13.4
✨  Using the hyperkit driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🏃  Updating the running hyperkit "minikube" VM ...
❗  This VM is having trouble accessing https://registry.k8s.io
💡  To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳  Preparing Kubernetes v1.27.4 on Docker 24.0.4 ...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🔎  Verifying Kubernetes components...
🌟  Enabled addons: default-storageclass, storage-provisioner

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
  1. Execute minikube kubectl -- get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-5d78c9869d-6mb8m           1/1     Running   5 (13m ago)    30h
kube-system   etcd-minikube                      1/1     Running   2 (13m ago)    30h
kube-system   kube-apiserver-minikube            1/1     Running   3 (12m ago)    30h
kube-system   kube-controller-manager-minikube   1/1     Running   2 (13m ago)    30h
kube-system   kube-proxy-fpsgn                   1/1     Running   2 (13m ago)    30h
kube-system   kube-scheduler-minikube            1/1     Running   2 (13m ago)    30h
kube-system   storage-provisioner                1/1     Running   20 (13m ago)   30h

Issue

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'

The above warning appears, but executing minikube kubectl -- get pods -A only allows us to check the status of the pods and does not resolve the compatibility issue.
This can confuse users about whether they should proceed to the next step or first resolve the compatibility issue.

Suggestion

How about changing the command to something like kubectl version --output=yaml to check the kubectl version?

like this↓

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'kubectl version --output=yaml'

Environment

  • OS: macOS Ventura13.4
  • kubernetes: v1.27.4
  • kubectl:
clientVersion:
  buildDate: "2022-05-24T12:26:19Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: darwin/amd64
kustomizeVersion: v4.5.4

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 17, 2023

issue title: Confusing kubectl version compatibility warning

steps to reproduce the issue:

  1. execute minikube start
😄  minikube v1.31.2 on Darwin 13.4
✨  Using the hyperkit driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🏃  Updating the running hyperkit "minikube" VM ...
❗  This VM is having trouble accessing https://registry.k8s.io
💡  To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳  Preparing Kubernetes v1.27.4 on Docker 24.0.4 ...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🔎  Verifying Kubernetes components...
🌟  Enabled addons: default-storageclass, storage-provisioner

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
  1. execute minikube kubectl -- get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-5d78c9869d-6mb8m           1/1     Running   5 (13m ago)    30h
kube-system   etcd-minikube                      1/1     Running   2 (13m ago)    30h
kube-system   kube-apiserver-minikube            1/1     Running   3 (12m ago)    30h
kube-system   kube-controller-manager-minikube   1/1     Running   2 (13m ago)    30h
kube-system   kube-proxy-fpsgn                   1/1     Running   2 (13m ago)    30h
kube-system   kube-scheduler-minikube            1/1     Running   2 (13m ago)    30h
kube-system   storage-provisioner                1/1     Running   20 (13m ago)   30h

issue

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'minikube kubectl -- get pods -A'

The above warning appears, but executing minikube kubectl -- get pods -A only allows us to check the status of the pods and does not resolve the compatibility issue.
This can confuse users about whether they should proceed to the next step or first resolve the compatibility issue.

suggestion

How about changing the command to something like kubectl version --output=yaml to check the kubectl version?

like this↓

❗  /usr/local/bin/kubectl is version 1.24.1, which may have incompatibilities with Kubernetes 1.27.4.
    ▪ Want kubectl v1.27.4? Try 'kubectl version --output=yaml'

environment

  • OS: macOS Ventura13.4
  • kubernetes: v1.27.4
  • kubectl:
clientVersion:
  buildDate: "2022-05-24T12:26:19Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: darwin/amd64
kustomizeVersion: v4.5.4

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 17, 2023

udzuraさんのご指摘を受けて英文とissueタイトルを修正

@Aseiide
Copy link
Contributor Author

Aseiide commented Oct 17, 2023

https://kubernetes.io/ja/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux

kubectlをupdateするのはこのあたりが参考になりそう

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants