
mysql
Ubuntu マシンにインストールしました。また、ローカルで実行しKubernetes
てデプロイしたmysql
デプロイメントもあり、コマンドKubernetes
を使用してアクセスできます。kubectl exec -it mysql-b4769786-5hf4m sh
mysql -p
ちょっと混乱しています。2 つの別々のデータベースがあるかどうかわかりません。1 つは OS 上でローカルに実行され、もう 1 つは Kubernetes クラスター上でローカルに実行されます。ある場合、それぞれにアクセスするにはどうすればよいでしょうか。使用しているシェルが Kubernetes mysql に接続されているのか、それとも OS mysql に接続されているのか、どうすればわかるのでしょうか。
または、NodeJS アプリを作成すると、Ubuntu にインストールされている mysql に接続されますか、それともローカル Kubernetes で実行されている mysql ポッドに接続されますか?
答え1
確かに、2 つの異なるデータベースがあります。コンテナにはまったく異なるオペレーティング システム (ベース イメージ) が存在する可能性もあります。
簡単なテストを実行して再確認できます:
MySQLコンテナ内に「コンテナ」データベースを作成する
他の MySQL インスタンスで SHOW DATABASES; を実行します。何も見つからないはずです。
答え2
2つのMySQLデータベースがあります。1つはUbuntuマシン上に、もう1つはKubernetesにあります。しかし Ubuntu マシンから Kubernetes 上の mysql を使用する場合は、Nodeport を作成する必要があります。mysql サービスを公開しないと、Ubuntu マシン上のローカル アプリケーションは Kubernetes mysql pod に接続できません。mysql pod を公開する場合は、mysql の問題を回避するために別のポートを使用します。