はじめに
kubernetesの他のポッドで立てているAPIにリクエストするのにすこしはまったので一応書いておきます
問題
以下のようにfetchをjsで行いました
const response = await fetch(`${process.env.HOST}/api/users/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
ここでHOSTはdeploymentにvaluesで渡していました
values.yaml
HOST=hoge.hoge.svc.cluster.local
しかしfetchでエラーが出ました
TypeError: Invalid URL
at new URL (node:internal/url:775:36)
at new Request (/usr/src/app/node_modules/@remix-run/web-fetch/src/request.js:81:16)
at /usr/src/app/node_modules/@remix-run/web-fetch/src/fetch.js:43:19
at new Promise (<anonymous>)
解決方法
慣れないk8sなのでそもそも名前解決できてないのではと思っていましたが、よくエラーをみるとURL形式で怒られていました
つまりhttp://
が存在していなかったのが問題でした
ちゃんとエラーをみていけばすぐ解決できました
おわりに
k8sにかなり慣れてきたので楽しくなってきました