mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-23 17:58:02 +00:00
tests: Add support for nodeport ingress for the kbs setup
this can be used on kcli or other systems where cluster nodes are accessible from all places where the tests are running. Fixes: #9272 Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
This commit is contained in:
@@ -296,6 +296,11 @@ kbs_k8s_svc_host() {
|
||||
if kubectl get ingress -n "$KBS_NS" 2>/dev/null | grep -q kbs; then
|
||||
kubectl get ingress kbs -n "$KBS_NS" \
|
||||
-o jsonpath='{.spec.rules[0].host}' 2>/dev/null
|
||||
elif kubectl get svc kbs-nodeport -n "$KBS_NS" &>/dev/null; then
|
||||
local host
|
||||
host=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="ExternalIP")].address}' -n "$KBS_NS")
|
||||
[ -z "$host"] && host=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}' -n "$KBS_NS")
|
||||
echo "$host"
|
||||
else
|
||||
kubectl get svc kbs -n "$KBS_NS" \
|
||||
-o jsonpath='{.spec.clusterIP}' 2>/dev/null
|
||||
@@ -309,6 +314,8 @@ kbs_k8s_svc_port() {
|
||||
if kubectl get ingress -n "$KBS_NS" 2>/dev/null | grep -q kbs; then
|
||||
# Assume served on default HTTP port 80
|
||||
echo "80"
|
||||
elif kubectl get svc kbs-nodeport -n "$KBS_NS" &>/dev/null; then
|
||||
kubectl get -o jsonpath='{.spec.ports[0].nodePort}' svc kbs-nodeport -n "$KBS_NS"
|
||||
else
|
||||
kubectl get svc kbs -n "$KBS_NS" \
|
||||
-o jsonpath='{.spec.ports[0].port}' 2>/dev/null
|
||||
@@ -407,4 +414,32 @@ _handle_ingress_aks() {
|
||||
|
||||
kustomize edit add resource ingress.yaml
|
||||
popd
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Implements the ingress handler for servernode
|
||||
# this is useful on kcli or anywhere where cluster IPs are accessible
|
||||
# from the testing machines.
|
||||
#
|
||||
_handle_ingress_nodeport() {
|
||||
pushd "${COCO_KBS_DIR}/config/kubernetes/overlays"
|
||||
|
||||
cat > nodeport_service.yaml <<EOF
|
||||
# Service to expose the KBS on nodes
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: kbs-nodeport
|
||||
namespace: "$KBS_NS"
|
||||
spec:
|
||||
selector:
|
||||
app: kbs
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
type: NodePort
|
||||
EOF
|
||||
kustomize edit add resource nodeport_service.yaml
|
||||
popd
|
||||
}
|
||||
|
Reference in New Issue
Block a user