Hello and welcome!
Please introduce yourself and where you’re joining
from in the chat while we wait for others to join :)
We’ll begin in a few minutes…
1
Sept, 2021
Online English Meetup Group
Ingress V2 demo for RTF on Self-
Managed K8s
Amit Jha
Senior Solution Architect
MuleSoft
Speakers:
Recording
Sept, 2021
Online English Meetup Group
Ingress V2 demo for RTF on Self-
Managed K8s
Sandeep Deshmukh
Moderator
Amit Jha
Senior Solution Architect
MuleSoft
Speakers:
Recording
4
● Guidelines
● Walkthrough of Ingress V2 (RTF v1.10)
● Demo
● Q&A
Agenda
All contents © MuleSoft, LLC
MuleSoft Meetups: Virtual Muleys
5
All contents © MuleSoft, LLC
Guidelines for today
1. Pop questions in the chat and anyone can try to answer!
2. Remaining questions will be asked in your behalf at the end of the
session
3. The Recording will be shared in the Meetups page and in the
VirtualMuleys Youtube Channel
4. Your feedback drives the content of these meetups, fill the surveys
at the end of the event, let us know what you think!
6
All contents © MuleSoft, LLC
Speakers
7
Amit Jha
Senior Solution Architect ,
MuleSoft Professional Services
Ingress V2 demo for RTF on Self-Managed K8s
All contents © MuleSoft, LLC
Appliance vs EKS, AKS, and GKE
Runtime Fabric is delivered to customers
as a package of components that run on
top of an existing EKS, AKS, or GKE
environment.
Customers have the flexibility to own
Kubernetes, ingress controller, and
external log forwarding and install RTF
within it.
Customers maintain the health of
Kubernetes, and MuleSoft maintains the
RTF services and Mule deployments.
Runtime Fabric on EKS/AKS/GKE
Node
Mule
App
Node
Mule
App
Mule
App
Runtime Fabric services
EKS / AKS / GKE
Mule
App
network
Runtime Fabric on EKS / AKS /GKE
Mule
App
Mule
App
Node
Managed by K8s specialist
Managed by MuleSoft
All contents © MuleSoft, LLC
Anypoint Runtime Fabric
Worker Worker
Mule
App
Mule
App
Mule
App
Mule
App
Worker
Mule
App
Mule
App
Worker
Mule
App
Mule
App
Worker
Mule
App
Mule
App
Worker
Mule
App
Mule
App
Runtime Fabric services
Docker & Kubernetes (nodes)
Anypoint Runtime Fabric on EKS/AKS/GKE
Anypoint Platform
API-led connectivity for microservices
Internal & External APIs
RUNTIME
MANAGER
ACCESS
MANAGEMENT
MANAGEMENT
CENTER
VISUALIZER
ADVANCE
MONITORING
EXCHANGE
PARTNER
MANAGER`
API DESIGNER
ANYPOINT
SECURITY
DESIGN
CENTER
EKS/AKS/GKE Management Plane
Worker
Agent
Ingress
Anypoint Runtime Fabric Architecture (BYOK8s)
Mule
App1
Mule
App2
RUNTIME FABRIC
Mule
App3
Mule
App4
HTTP/S
mTLS
mTLS
mTLS
RUNTIME
MANAGER
CONTAINER
REGISTRY
ADVANCED
MONITORING
MANAGEMENT
CENTER
Worker
Agent
Ingress
Mule
App1
Mule
App2
Mule
App3
Mule
App4
Worker
Agent
Ingress
Mule
App1
Mule
App2
Mule
App3
Mule
App4
replicas
HAProxy
EKS/AKS/GKE Management Plane
Customer managed
Mulesoft managed
Nginx
HTTP/S
Previous Ingress Config Model (v1)
● Domains configured on the Runtime Manager UI (Inbound Traffic)
● Define values for annotations, rewrite rules, and the ingressClassName using
rtfctl apply ingress-configmap command to apply the custom Ingress configuration
to your Kubernetes cluster
● Highlights:
○ Apply host/tls/path configuration via ingress-resource template applied
natively using kubectl commands.
○ From the applied template, RTF-agent software crafts placeholder URIs and
propagates it to the management plane.
○ These placeholder URI domains then become available to the application
developer to choose from.
○ Once mapped, agent upserts the ingress resource for that application.
New Ingress Config Model (v2)
14
● Anypoint Runtime Fabric on Self-Managed Kubernetes enables you to specify
custom Ingress configurations using an ingress resource template. In a template,
similar to a Kubernetes ingress spec, you can specify annotations, ingress class
name, and HTTP and HTTPS rules.
○ Using custom ingress resource templates in Runtime Fabric enables you to take
advantage of native Kubernetes ingress configuration functionality, including
support for:
■ Multiple ingress controllers within the same Runtime Fabric instance
■ Multiple ingress configurations available to choose per application
■ TLS and HTTPS configuration
■ URL parameter placeholders
■ Custom URL naming
Ingress V2 demo for RTF on Self-Managed K8s
How Ingress Resources Templates Work in
Runtime Fabric
Example Ingress Resource Templates >= K8s 1.19
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-rtf-ingress
namespace: rtf
labels:
business-group: business-group-id
environment: environment-id
spec:
ingressClassName: rtf-nginx
tls:
- hosts:
- app-name.example.com
secretName: example-tls
rules:
- host: app-name.example.com
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: service-name
port:
name: service-port
Example Ingress Resource Templates < K8s 1.19
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-rtf-ingress
namespace: rtf
labels:
business-group: business-group-id
environment: environment-id
spec:
ingressClassName: rtf-nginx
tls:
- hosts:
- app-name.example.com
secretName: example-tls
rules:
- host: app-name.example.com
http:
paths:
- path: /
pathType:
backend:
serviceName: service-name
servicePort: 80
Template Placeholders
Name of Placeholder Location Example Value
app-name path, host, annotation, labels http:
paths:
- pathType: ImplementationSpecific
path: /app-name
business-group-id path, host, annotation, labels labels:
business:
business-group-id
environment-id path, host, annotation, labels labels:
environment:
environment-id
Performance Tools
Demo
20
■ URL parameter placeholders
■ Custom URL naming
■ Multiple ingress controllers within the same Runtime Fabric instance
■ Multiple ingress configurations available to choose per application
■ TLS and HTTPS configuration
Ingress V2 demo for RTF on Self-Managed K8s
21
■ URL parameter placeholders
■ Custom URL naming
■ Multiple ingress controllers within the same Runtime Fabric instance
■ Multiple ingress configurations available to choose per application
■ TLS and HTTPS configuration
Ingress V2 demo for RTF on Self-Managed K8s
Migration from 1.9 to 1.10
Runtime Fabric Pre-
upgrade
Runtime Fabric Upgraded Action Required TLS Support
No domains configured
and no ingress-
ConfigMap applied
No template is generated automatically
after the upgrade
Create a template. See Create an Ingress
Resource Template and Apply it in the
Cluster.
-
No domains configured,
but a valid ingress-
ConfigMap applied
Generated template will contain * for
hosts and will contain the path and
annotations from the previous ingress-
ConfigMap
Edit the host field in the generated
template to provide a valid host/domain
for deploying applications in Runtime
Manager
No TLS section added by default
Valid domains
configured, but no
ingress-ConfigMap
applied
Generated templates will contain one
host per domain per template and will
include /app-name in the path for each
template
No immediate action is required unless
the domains use https://; in this case,
configure a TLS secret in the template
corresponding to the HTTPS domain
For domains that have https://, the
template corresponding to that domain
will have a TLS section without a secret
attribute
Valid domains configured
and a valid ingress-
ConfigMap applied
Generated templates will contain one
host per domain per template and will
include all the paths and annotations
from the previous ingress-ConfigMap
No immediate action required, unless
the domains use https://; in this case,
configure a TLS secret in the template
corresponding to the HTTPS domain
For domains that have https://, the
template corresponding to that domain
will have a TLS section without a secret
attribute
23
Thank you

Rtf v2 ingress muleSoft meetup self managed kubernetes

  • 1.
    Hello and welcome! Pleaseintroduce yourself and where you’re joining from in the chat while we wait for others to join :) We’ll begin in a few minutes… 1
  • 2.
    Sept, 2021 Online EnglishMeetup Group Ingress V2 demo for RTF on Self- Managed K8s Amit Jha Senior Solution Architect MuleSoft Speakers: Recording
  • 3.
    Sept, 2021 Online EnglishMeetup Group Ingress V2 demo for RTF on Self- Managed K8s Sandeep Deshmukh Moderator Amit Jha Senior Solution Architect MuleSoft Speakers: Recording
  • 4.
    4 ● Guidelines ● Walkthroughof Ingress V2 (RTF v1.10) ● Demo ● Q&A Agenda
  • 5.
    All contents ©MuleSoft, LLC MuleSoft Meetups: Virtual Muleys 5
  • 6.
    All contents ©MuleSoft, LLC Guidelines for today 1. Pop questions in the chat and anyone can try to answer! 2. Remaining questions will be asked in your behalf at the end of the session 3. The Recording will be shared in the Meetups page and in the VirtualMuleys Youtube Channel 4. Your feedback drives the content of these meetups, fill the surveys at the end of the event, let us know what you think! 6
  • 7.
    All contents ©MuleSoft, LLC Speakers 7 Amit Jha Senior Solution Architect , MuleSoft Professional Services
  • 8.
    Ingress V2 demofor RTF on Self-Managed K8s
  • 9.
    All contents ©MuleSoft, LLC Appliance vs EKS, AKS, and GKE Runtime Fabric is delivered to customers as a package of components that run on top of an existing EKS, AKS, or GKE environment. Customers have the flexibility to own Kubernetes, ingress controller, and external log forwarding and install RTF within it. Customers maintain the health of Kubernetes, and MuleSoft maintains the RTF services and Mule deployments. Runtime Fabric on EKS/AKS/GKE Node Mule App Node Mule App Mule App Runtime Fabric services EKS / AKS / GKE Mule App network Runtime Fabric on EKS / AKS /GKE Mule App Mule App Node Managed by K8s specialist Managed by MuleSoft
  • 10.
    All contents ©MuleSoft, LLC Anypoint Runtime Fabric Worker Worker Mule App Mule App Mule App Mule App Worker Mule App Mule App Worker Mule App Mule App Worker Mule App Mule App Worker Mule App Mule App Runtime Fabric services Docker & Kubernetes (nodes) Anypoint Runtime Fabric on EKS/AKS/GKE Anypoint Platform API-led connectivity for microservices Internal & External APIs RUNTIME MANAGER ACCESS MANAGEMENT MANAGEMENT CENTER VISUALIZER ADVANCE MONITORING EXCHANGE PARTNER MANAGER` API DESIGNER ANYPOINT SECURITY DESIGN CENTER EKS/AKS/GKE Management Plane
  • 11.
    Worker Agent Ingress Anypoint Runtime FabricArchitecture (BYOK8s) Mule App1 Mule App2 RUNTIME FABRIC Mule App3 Mule App4 HTTP/S mTLS mTLS mTLS RUNTIME MANAGER CONTAINER REGISTRY ADVANCED MONITORING MANAGEMENT CENTER Worker Agent Ingress Mule App1 Mule App2 Mule App3 Mule App4 Worker Agent Ingress Mule App1 Mule App2 Mule App3 Mule App4 replicas HAProxy EKS/AKS/GKE Management Plane Customer managed Mulesoft managed Nginx HTTP/S
  • 12.
    Previous Ingress ConfigModel (v1) ● Domains configured on the Runtime Manager UI (Inbound Traffic) ● Define values for annotations, rewrite rules, and the ingressClassName using rtfctl apply ingress-configmap command to apply the custom Ingress configuration to your Kubernetes cluster
  • 13.
    ● Highlights: ○ Applyhost/tls/path configuration via ingress-resource template applied natively using kubectl commands. ○ From the applied template, RTF-agent software crafts placeholder URIs and propagates it to the management plane. ○ These placeholder URI domains then become available to the application developer to choose from. ○ Once mapped, agent upserts the ingress resource for that application. New Ingress Config Model (v2)
  • 14.
    14 ● Anypoint RuntimeFabric on Self-Managed Kubernetes enables you to specify custom Ingress configurations using an ingress resource template. In a template, similar to a Kubernetes ingress spec, you can specify annotations, ingress class name, and HTTP and HTTPS rules. ○ Using custom ingress resource templates in Runtime Fabric enables you to take advantage of native Kubernetes ingress configuration functionality, including support for: ■ Multiple ingress controllers within the same Runtime Fabric instance ■ Multiple ingress configurations available to choose per application ■ TLS and HTTPS configuration ■ URL parameter placeholders ■ Custom URL naming Ingress V2 demo for RTF on Self-Managed K8s
  • 15.
    How Ingress ResourcesTemplates Work in Runtime Fabric
  • 16.
    Example Ingress ResourceTemplates >= K8s 1.19 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-rtf-ingress namespace: rtf labels: business-group: business-group-id environment: environment-id spec: ingressClassName: rtf-nginx tls: - hosts: - app-name.example.com secretName: example-tls rules: - host: app-name.example.com http: paths: - pathType: Prefix path: / backend: service: name: service-name port: name: service-port
  • 17.
    Example Ingress ResourceTemplates < K8s 1.19 apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: example-rtf-ingress namespace: rtf labels: business-group: business-group-id environment: environment-id spec: ingressClassName: rtf-nginx tls: - hosts: - app-name.example.com secretName: example-tls rules: - host: app-name.example.com http: paths: - path: / pathType: backend: serviceName: service-name servicePort: 80
  • 18.
    Template Placeholders Name ofPlaceholder Location Example Value app-name path, host, annotation, labels http: paths: - pathType: ImplementationSpecific path: /app-name business-group-id path, host, annotation, labels labels: business: business-group-id environment-id path, host, annotation, labels labels: environment: environment-id
  • 19.
  • 20.
    20 ■ URL parameterplaceholders ■ Custom URL naming ■ Multiple ingress controllers within the same Runtime Fabric instance ■ Multiple ingress configurations available to choose per application ■ TLS and HTTPS configuration Ingress V2 demo for RTF on Self-Managed K8s
  • 21.
    21 ■ URL parameterplaceholders ■ Custom URL naming ■ Multiple ingress controllers within the same Runtime Fabric instance ■ Multiple ingress configurations available to choose per application ■ TLS and HTTPS configuration Ingress V2 demo for RTF on Self-Managed K8s
  • 22.
    Migration from 1.9to 1.10 Runtime Fabric Pre- upgrade Runtime Fabric Upgraded Action Required TLS Support No domains configured and no ingress- ConfigMap applied No template is generated automatically after the upgrade Create a template. See Create an Ingress Resource Template and Apply it in the Cluster. - No domains configured, but a valid ingress- ConfigMap applied Generated template will contain * for hosts and will contain the path and annotations from the previous ingress- ConfigMap Edit the host field in the generated template to provide a valid host/domain for deploying applications in Runtime Manager No TLS section added by default Valid domains configured, but no ingress-ConfigMap applied Generated templates will contain one host per domain per template and will include /app-name in the path for each template No immediate action is required unless the domains use https://; in this case, configure a TLS secret in the template corresponding to the HTTPS domain For domains that have https://, the template corresponding to that domain will have a TLS section without a secret attribute Valid domains configured and a valid ingress- ConfigMap applied Generated templates will contain one host per domain per template and will include all the paths and annotations from the previous ingress-ConfigMap No immediate action required, unless the domains use https://; in this case, configure a TLS secret in the template corresponding to the HTTPS domain For domains that have https://, the template corresponding to that domain will have a TLS section without a secret attribute
  • 23.