解決したい課題
下記コマンドで接続確認したい。
現状
> kubectl run --restart Never --image curlimages/curl:7.68.0 -it --rm curl sh If you don't see a command prompt, try pressing enter. / $ / $ curl (IP):(port番号) / $
上記のように何もレスポンスがない状態です。
試したこと
/ $ ping www.google.com PING www.google.com (216.58.220.100): 56 data bytes ping: permission denied (are you root?) / $ su - su: must be suid to work properly / $ id uid=100(curl_user) gid=101(curl_group) groups=101(curl_group)
/ $ curl www.google.com <!doctype html> ~~~~~~~~~~~~~~~~~~~~~~~ </script> </body></html>/
curl www.google.comは実行できているのに、curl (IP):(port番号)でレスポンスが無い原因が分かりません。
どなたかアドバイスをいただけないでしょうか。
お願いいたします(><)
追記
・接続先PodのIPアドレスと今回作成しているPodのIPアドレスは同じネットワーク内にあることを確認済みです。
・serviceの設定は済んでおります。
curlしたいIPはget podで出てくるIPですよね?seriveのIPでなくて。
もしそうなら逆に方向の接続先からpingなど試してみてはどうでしょうか。双方で疎通がとれていない状況ではないでしょうか?
いつもありがとうございます!yasutakatouさん☺
はい、接続先IPはget podsで表示されるIPでございます。
逆方向も試してみます!
「現状」で記載したコマンドではシェルから抜けるとpodがdeleteされてしまうため、podを作成して双方向でpingによる接続を実施し、無事確認ができました☺
podを作成してからシェル上でcurlコマンドをインストールできなかったのでpingを用いましたが接続確認ができたので私の中ではスッキリしました。今回pod←→pod間の接続ではserviceは関係なかったですね。(serviceはあくまでクラスタ外からの接続で設定が必要なんだった)
アドバイスありがとうございました!
自己解決されたようですが、やりたいことのモヤモヤが解消してご理解頂けたという事ですかね?
問題が解決できたなら良かったです!
はい。クラスタ内の各pod間の接続を確認したかったのです。レイヤーはこだわっていなかったのでpingで実施しましたが、webサーバへはcurl、DBサーバへはtelnetでポート接続確認できるようにしたいので、別途試行錯誤してるところです。現在curlはインストールできず、telnetはインストールできたのですが、コマンドはエラーとなり前途多難です。
色々大変そうですね。僕もk8sを初めてさわった時は分かんな過ぎて混乱しましたが、一回ハマれば
経験になってくると思ってなんとか調べたりで対処してきました。きっとあなたも同じように、というか、もっと良く経験していけると思いますよ!ただ、内容的に別のエラーになると思いますので別の質問投稿でお願いしますね。僕よりもっともっと詳しい人の回答をもらえると思いますのでー
yasutakatouさんのようにアドバイスいただける人達によって、良い経験となっています。
いつも助かってます!
質問ばかりになってしまい恐縮ですが、少しずつ自力で解決できる力を身に付けていけるようがんばります!
回答1件
あなたの回答
tips
プレビュー