Fedora40でminikube - minikube をアップグレードする(1)

[Fedora39でminikube - IngressをDeployする(1)](https://qiita.com/intrajp/items/89eeacddf0a62ac1baf1)からの続きです。

どうやら、minikube の最新バージョンがあるらしいので、アップグレードしてみる。

```
@fedora:~$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 99.0M  100 99.0M    0     0   374k      0  0:04:30  0:04:30 --:--:--  269k
[sudo] my_user のパスワード:
@fedora:~$ minikube start
😄  Fedora 40 上の minikube v1.34.0
🆕  Kubernetes 1.31.0 が利用可能です。アップグレードしたい場合、--kubernetes-version=v1.31.0 を指定してください
✨  既存のプロファイルを元に、virtualbox ドライバーを使用します
💿  VM ブートイメージをダウンロードしています...
    > minikube-v1.34.0-amd64.iso....:  65 B / 65 B [---------] 100.00% ? p/s 0s
    > minikube-v1.34.0-amd64.iso:  177.87 MiB / 333.55 MiB  53.33% 348.25 KiB p
    > minikube-v1.34.0-amd64.iso:  333.55 MiB / 333.55 MiB  100.00% 248.51 KiB 
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🔄  「minikube」のために既存の virtualbox VM を再起動しています...
❗  イメージが現在の minikube バージョンでビルドされていません。minikube クラスターを削除後、最新のイメージを使用してクラスターを再作成することでこの問題を解決することができます。想定された minikube のバージョン:  v1.32.0 -> 実際の minikube のバージョン: v1.34.0
🐳  Docker 24.0.7 で Kubernetes v1.28.3 を準備しています...
🔗  bridge CNI (コンテナーネットワークインターフェース) を設定中です...
    ▪ docker.io/kubernetesui/dashboard:v2.7.0 イメージを使用しています
    ▪ registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3 イメージを使用しています
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
    ▪ docker.io/kubernetesui/metrics-scraper:v1.0.8 イメージを使用しています
    ▪ registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3 イメージを使用しています
    ▪ registry.k8s.io/ingress-nginx/controller:v1.11.2 イメージを使用しています
💡  Some dashboard features require the metrics-server addon. To enable all features please run:

	minikube addons enable metrics-server

🔎  ingress アドオンを検証しています...
🌟  有効なアドオン: storage-provisioner, default-storageclass, dashboard, ingress
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                      │
│    「virtualbox」ドライバーが選択されましたが、より良い選択肢があります！                                            │
│    性能と機能の向上のため、別のドライバー使用を検討してください:                                                     │
│            - qemu2                                                                                                   │
│                                                                                                                      │
│    この警告を表示させないためには、以下を実行してください:                                                           │
│                                                                                                                      │
│            $ minikube config set WantVirtualBoxDriverWarning false                                                   │
│                                                                                                                      │
│                                                                                                                      │
│    minikube ドライバーについてもっと知るためには、https://minikube.sigs.k8s.io/docs/drivers/ を確認してください。    │
│    ベンチマークについては https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/ を確認してください                  │
│                                                                                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
🔎  Kubernetes コンポーネントを検証しています...
🏄  終了しました！kubectl がデフォルトで「minikube」クラスターと「default」ネームスペースを使用するよう設定されました
```
この警告が気になる。

```
イメージが現在の minikube バージョンでビルドされていません。minikube クラスターを削除後、最新のイメージを使用してクラスターを再作成することでこの問題を解決することができます。想定された minikube のバージョン:  v1.32.0 -> 実際の minikube のバージョン: v1.34.0
🐳  Docker 24.0.7 で Kubernetes v1.28.3 を準備しています...
```

調べたけど、アップグレードというのは、できないみたいなので、今までの資源が消えてしまうのを承知で、minikube delete をおこなってみた。

```
@fedora:~$ minikube delete
🔥  virtualbox の「minikube」を削除しています...
💀  クラスター「minikube」の全てのトレースを削除しました。
```

以下で、今までのサービスを確認したけど、資源が消えてしまっていた。ま、minikube は学習用だし、しょうがない。

```
@fedora:~$ kubectl get service
E1020 00:43:25.075829   31099 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
E1020 00:43:25.076312   31099 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
E1020 00:43:25.078104   31099 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
E1020 00:43:25.078485   31099 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
E1020 00:43:25.080223   31099 memcache.go:265] couldn't get current server API group list: Get "http://localhost:8080/api?timeout=32s": dial tcp [::1]:8080: connect: connection refused
The connection to the server localhost:8080 was refused - did you specify the right host or port?
```

では、警告にしたがって、新しいイメージで、クラスタを作り直す。

```
@fedora:~$ minikube start
😄  Fedora 40 上の minikube v1.34.0
✨  qemu2 ドライバーが自動的に選択されました。他の選択肢: virtualbox, ssh
🌐  builtin ネットワークが自動的に選択されました
❗  独立したネットワークなしで QEMU ドライバーを使用しています。これは `minikube service` & `minikube tunnel` コマンドをサポートしていません。
👍  Starting "minikube" primary control-plane node in "minikube" cluster
💾  ロード済み Kubernetes v1.31.0 をダウンロードしています...
    > preloaded-images-k8s-v18-v1...:  326.69 MiB / 326.69 MiB  100.00% 3.40 Mi
🔥  qemu2 VM (CPUs=2, Memory=6000MB, Disk=20000MB) を作成しています...- OUTPUT: 
ERROR: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: -accel kvm: failed to initialize kvm: Device or resource busy


🔥  qemu2 の「minikube」を削除しています...
🤦  StartHost に失敗しましたが、再度試してみます: creating host: create: creating: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: -accel kvm: failed to initialize kvm: Device or resource busy: exit status 1
🔥  qemu2 VM (CPUs=2, Memory=6000MB, Disk=20000MB) を作成しています...- OUTPUT: 
ERROR: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: -accel kvm: failed to initialize kvm: Device or resource busy


😿  qemu2 VM の開始に失敗しました。「minikube delete」実行で解決するかも知れません: creating host: create: creating: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: -accel kvm: failed to initialize kvm: Device or resource busy: exit status 1
❗  qemu2 ドライバーを用いた始動に失敗しましたが、代わりの virtualbox ドライバーで再試行しています: Failed to start host: creating host: create: creating: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: -accel kvm: failed to initialize kvm: Device or resource busy: exit status 1
🔥  qemu2 の「minikube」を削除しています...
💀  クラスター「minikube」の全てのトレースを削除しました。
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🔥  virtualbox VM (CPUs=2, Memory=6000MB, Disk=20000MB) を作成しています...
❗  Failing to connect to https://registry.k8s.io/ from inside the minikube VM
💡  外部イメージを取得するためには、プロキシーを設定する必要があるかも知れません: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳  Docker 27.2.0 で Kubernetes v1.31.0 を準備しています...
    ▪ 証明書と鍵を作成しています...
    ▪ コントロールプレーンを起動しています...
    ▪ RBAC のルールを設定中です...
🔗  bridge CNI (コンテナーネットワークインターフェース) を設定中です...
    ▪ gcr.io/k8s-minikube/storage-provisioner:v5 イメージを使用しています
🌟  有効なアドオン: storage-provisioner, default-storageclass
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                      │
│    「virtualbox」ドライバーが選択されましたが、より良い選択肢があります！                                            │
│    性能と機能の向上のため、別のドライバー使用を検討してください:                                                     │
│            - qemu2                                                                                                   │
│                                                                                                                      │
│    この警告を表示させないためには、以下を実行してください:                                                           │
│                                                                                                                      │
│            $ minikube config set WantVirtualBoxDriverWarning false                                                   │
│                                                                                                                      │
│                                                                                                                      │
│    minikube ドライバーについてもっと知るためには、https://minikube.sigs.k8s.io/docs/drivers/ を確認してください。    │
│    ベンチマークについては https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/ を確認してください                  │
│                                                                                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
🔎  Kubernetes コンポーネントを検証しています...

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

kubectl とは、skew を越えているが、実際に使うのは、’minikube kubectl –‘ へのエイリアスである、kubectl_m ということにしている。kubectl_m であれば、問題ない。

```
@fedora:~$ kubectl version
Client Version: v1.29.9
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.31.0
WARNING: version difference between client (1.29) and server (1.31) exceeds the supported minor version skew of +/-1


@fedora:~$ kubectl_m version
Client Version: v1.31.0
Kustomize Version: v5.4.2
Server Version: v1.31.0

fedora:~$ minikube version
minikube version: v1.34.0
commit: 210b148df93a80eb872ecbeb7e35281b3c582c61
```

(参考)[minikube start](https://minikube.sigs.k8s.io/docs/start/)

[Fedora40でminikube - minikube をアップグレードする(2)](https://qiita.com/intrajp/items/61e6e291c9fddaa88a71)につづく。