Я пытаюсь отправить запрос GET от Lambda на модуль, не подвергая его внешнему воздействию.К этому модулю подключен сервис ClusterIP.Я могу получить доступ к этому модулю напрямую через Интернет (через вход), поэтому я знаю, что он работает правильно.
Вот часть службы, прикрепленная к модулю:
spec:
clusterIP: 10.xxx.xxx.xx
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: app_name
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Я подключил лямбду кvpc и подсети, но если я использую приведенный ниже код, я получаю сообщение об ошибке.Я попытался использовать IP-адрес модуля и IP-адрес кластера, но с той же ошибкой.Это работает для Google / других сайтов и когда модуль открыт для доступа в Интернет.
const http = require('http');
exports.handler = async (event, context) => {
return new Promise((resolve, reject) => {
const options = {
host: 'www.google.com',
path: '/api/',
port: 80,
method: 'GET'
};
const req = http.request(options, (res) => {
let data = '';
// A chunk of data has been recieved.
res.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
res.on('end', () => {
console.log(JSON.parse(data));
});
});
req.write('');
req.end();
});
};
Ответ:
{
"errorMessage": "Task timed out after 3.00 seconds"
}
Я понимаю все ниже и я рад сменить услугувведите, но я не знаю, как я должен обратиться к стручку в моей лямбде (замените www.google.com чем-то).Рад попробовать любой другой код или скрипт на python.
A ClusterIP service is the default Kubernetes service. It gives you a service inside your cluster that other apps inside your cluster can access. There is no external access.
A NodePort service is the most primitive way to get external traffic directly to your service. NodePort, as the name implies, opens a specific port on all the Nodes (the VMs), and any traffic that is sent to this port is forwarded to the service.
A LoadBalancer service is the standard way to expose a service to the internet. On GKE, this will spin up a Network Load Balancer that will give you a single IP address that will forward all traffic to your service.
Кто-нибудь пробовал что-то подобное?