k8s/external-services/kanban.yaml

109 lines
1.8 KiB
YAML

---
apiVersion: v1
kind: Service
metadata:
name: kanban
namespace: external-services
spec:
type: ClusterIP
ports:
- name: http
port: 80
...
---
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: kanban
namespace: external-services
labels:
kubernetes.io/service-name: kanban
addressType: IPv4
ports:
- name: http
appProtocol: http
protocol: TCP
port: 8080
endpoints:
- addresses:
- "192.168.0.18"
conditions:
ready: true
...
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kanban-cert
namespace: istio-system
spec:
secretName: kanban-cert
commonName: kanban.minhas.io
dnsNames:
- kanban.minhas.io
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
group: cert-manager.io
...
---
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: kanban-gateway
namespace: external-services
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: kanban-cert
hosts:
- kanban.minhas.io
...
---
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: kanban
namespace: external-services
spec:
hosts:
- kanban.minhas.io
addresses:
- 0.0.0.0/0
ports:
- number: 8080
name: kanban
protocol: HTTP
location: MESH_EXTERNAL
resolution: STATIC
endpoints:
- address: 192.168.0.18
...
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: kanban-gateway
namespace: external-services
spec:
hosts:
- kanban.minhas.io
gateways:
- kanban-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
port:
number: 80
host: kanban
...