@kurokobo @tanganellilore we got a good bits of the work done in
feature_awx-mesh-ingress branch on awx and awx-operator
right now if you try to use it it should work
for the awx-operator change we mostly focused on OCP with Route as the ingress
If anyone is interested would u like to contribute the bits needed to get this to work well on non OCP K8S?
kurokobo
(kurokobo)
November 17, 2023, 4:38am
42
Thank you for informing me, Iāll give it a little try in a few days.
kurokobo
(kurokobo)
November 21, 2023, 2:46pm
44
@TheRealHaoLiu @fosterseth
Is it feasible for AWX Operator to support deployment of IngressRouteTCP for Traefik in addition to Route and Ingress?
I can send PR for this, but It would also be possible to deploy AWXMeshIngress CR with ingress_type: none
and have users create their own IngressRouteTCP (In this case AWX Operator does not support IngressRouteTCP).
Traefik (default ingress controller for k3s) requires a TCP Router for TLS passthrough , which consists of a CR called IngressRouteTCP rather than the usual Ingress resource.
Technically, I already have an implementation in my environment that allows jobs to run on Executon Node via Internal Hop Node using IngressRouteTCP.
Draft PR: wip: add ingress and ingressroutetcp for awxmeshingress by kurokobo Ā· Pull Request #1646 Ā· ansible/awx-operator Ā· GitHub
2 Likes
Thanks everyone! the feature landed in AWX now!
check it out!
AWX: 23.8.0
AWX-Operator: 2.12.0
The remote EE node from outside of k8s cluster, how to reach the hop node in the k8s cluster with port 443 ? does the loadbalancer in k8s cluster tell ?
I have installed bundle to remote EE node, but running health check tells the remote EE node is not in the receptor mesh.
what i understand is
in the k8s cluster, awxmeshingress takes pods to service.
outside of k8s cluster, ingress (ingress-nginx) takes the remote EE node to service.
please take a look what I am missing.
this is my service for awxmeshingress
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: ā{āapiVersionā:āv1ā,ākindā:āServiceā,āmetadataā:{ānameā:āmesh-ingress-1ā,ānamespaceā:āawxā},āspecā:{āportsā:[{ānameā:āwsā,āportā:27199,ātargetPortā:27199}],āselectorā:{āapp.kubernetes.io/name":āmesh-ingress-1ā},ātypeā:"ClusterIP ā}}ā
creationTimestamp: ā2024-04-12T07:43:01Zā
name: mesh-ingress-1
namespace: awx
ownerReferences:
apiVersion: awx.ansible.com/v1alpha1
kind: AWXMeshIngress
name: mesh-ingress-1
uid: xxx
resourceVersion: ā21687088ā
uid: xxx
spec:
clusterIP: 10.x.x.x
clusterIPs:
10.x.x.x
internalTrafficPolicy: Cluster
ipFamilies:
IPv4
ipFamilyPolicy: SingleStack
ports:
name: ws
port: 27199
protocol: TCP
targetPort: 27199
selector:
app.kubernetes.io/name: mesh-ingress-1
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
===============================================
following is service for ingress-nginx-controller
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{āapiVersionā:āv1ā,ākindā:āServiceā,āmetadataā:{āannotationsā:{},ālabelsā:{āapp.kubernetes.io/component":ācontrollerā,āapp.kubernetes.io/instanceā:āingress-nginxā,āapp.kubernetes.io/nameā:āingress-nginxā,āapp.kubernetes.io/part-ofā:āingress-nginxā,āapp.kubernetes.io/versionā:ā1.10.0ā},ānameā:āingress-nginx-controllerā,ānamespaceā:āingress-nginxā},āspecā:{āexternalTrafficPolicyā:āLocalā,āipFamiliesā:[āIPv4ā],āipFamilyPolicyā:āSingleStackā,āportsā:[{āappProtocolā:āhttpā,ānameā:āhttpā,āportā:80,āprotocolā:āTCPā,ātargetPortā:āhttpā},{āappProtocolā:āhttpsā,ānameā:āhttpsā,āportā:443,āprotocolā:āTCPā,ātargetPortā:āhttpsā}],āselectorā:{āapp.kubernetes.io/componentā:ācontrollerā,āapp.kubernetes.io/instanceā:āingress-nginxā,āapp.kubernetes.io/nameā:āingress-nginxā},ātypeā:"LoadBalancer ā}}
creationTimestamp: ā2024-04-03T09:20:23Zā
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
resourceVersion: ā18611647ā
uid: xxx
spec:
allocateLoadBalancerNodePorts: true
clusterIP: 10.x.x.x
clusterIPs:
10.x.x.x
externalTrafficPolicy: Local
healthCheckNodePort: 31209
internalTrafficPolicy: Cluster
ipFamilies:
IPv4
ipFamilyPolicy: SingleStack
ports:
appProtocol: http
name: http
nodePort: 31789
port: 80
protocol: TCP
targetPort: http
appProtocol: https
name: https
nodePort: 32148
port: 443
protocol: TCP
targetPort: https
selector:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}
kurokobo
(kurokobo)
April 15, 2024, 11:36am
47
@yoonmin1030
Hi, could you please create a new topic on Get Help category?
1 Like
I made it as a topic.
The remote EE node from outside of k8s cluster, how to reach the hop node in the k8s cluster with port 443 ? does the loadbalancer in k8s cluster tell ?
I have installed bundle to remote EE node, but running health check tells the remote EE node is not in the receptor mesh.
what i understand is
in the k8s cluster, awxmeshingress takes pods to service.
outside of k8s cluster, ingress (ingress-nginx) takes the remote EE node to service.
please take a look what I am missing.
this is my servicā¦
please help me to get more understanding of the topic āawxmeshingress and receptorā