Enhancement: Fixed original behavior of manual config k8s service
This commit is contained in:
parent
fa677c2ab2
commit
a5ecb34ddf
@ -28,7 +28,7 @@ export default async function handler(req, res) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||||
const labelSelector = podSelector !== undefined ? podSelector : await parseIngressSelector(appName, namespace, kc);
|
const labelSelector = podSelector !== undefined ? podSelector : await parseIngressSelector(appName, namespace, kc, logger);
|
||||||
const metricsApi = new Metrics(kc);
|
const metricsApi = new Metrics(kc);
|
||||||
const podsResponse = await coreApi
|
const podsResponse = await coreApi
|
||||||
.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
||||||
|
|||||||
@ -25,7 +25,7 @@ export default async function handler(req, res) {
|
|||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const labelSelector = podSelector !== undefined ? podSelector : await parseIngressSelector(appName, namespace, kc);
|
const labelSelector = podSelector !== undefined ? podSelector : await parseIngressSelector(appName, namespace, kc, logger);
|
||||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||||
const podsResponse = await coreApi
|
const podsResponse = await coreApi
|
||||||
.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
||||||
|
|||||||
@ -1,14 +1,35 @@
|
|||||||
import { CoreV1Api, NetworkingV1Api } from "@kubernetes/client-node";
|
import { CoreV1Api, NetworkingV1Api } from "@kubernetes/client-node";
|
||||||
|
|
||||||
export async function parseIngressSelector(ingressName, namespace, kc) {
|
export async function parseIngressSelector(ingressName, namespace, kc, logger) {
|
||||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||||
const networkApi = kc.makeApiClient(NetworkingV1Api);
|
const networkApi = kc.makeApiClient(NetworkingV1Api);
|
||||||
|
|
||||||
const ingress = await networkApi.readNamespacedIngress(ingressName, namespace);
|
const ingress = await networkApi
|
||||||
const serviceName = ingress.body.spec.rules[0].http.paths[0].backend.service.name;
|
.readNamespacedIngress(ingressName, namespace)
|
||||||
|
.then((response) => response.body)
|
||||||
|
.catch((err) => {
|
||||||
|
logger.error("Error getting ingress: %d %s %s", err.statusCode, err.body, err.response);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
const svc = await coreApi.readNamespacedService(serviceName, namespace);
|
if (!ingress) {
|
||||||
return svc.body.spec.selector;
|
return {"app.kubernetes.io/name": ingressName};
|
||||||
|
}
|
||||||
|
|
||||||
|
const serviceName = ingress.spec.rules[0].http.paths[0].backend.service.name;
|
||||||
|
const svc = await coreApi
|
||||||
|
.readNamespacedService(serviceName, namespace)
|
||||||
|
.then((response) => response.body)
|
||||||
|
.catch((err) => {
|
||||||
|
logger.error("Error getting service: %d %s %s", err.statusCode, err.body, err.response);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!svc) {
|
||||||
|
return {"app.kubernetes.io/name": ingressName};
|
||||||
|
}
|
||||||
|
|
||||||
|
return svc.spec.selector;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseCpu(cpuStr) {
|
export function parseCpu(cpuStr) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user