yamlANYserviceclusterip
yaml
apiVersion: v1
kind: Service
metadata:
name: api
spec:
selector:
app: api
ports:
- name: http
port: 80
targetPort: http
type: ClusterIPServices, Ingress, NetworkPolicy, ports, and service exposure manifests.
Stable service discovery and traffic routing.
apiVersion: v1
kind: Service
metadata:
name: api
spec:
selector:
app: api
ports:
- name: http
port: 80
targetPort: http
type: ClusterIPapiVersion: v1
kind: Service
metadata:
name: api-nodeport
spec:
selector:
app: api
ports:
- port: 80
targetPort: 8080
nodePort: 30080
type: NodePortapiVersion: v1
kind: Service
metadata:
name: api-lb
spec:
selector:
app: api
ports:
- port: 80
targetPort: 8080
type: LoadBalancerapiVersion: v1
kind: Service
metadata:
name: postgres
spec:
clusterIP: None
selector:
app: postgres
ports:
- port: 5432
targetPort: 5432Route HTTP(S) traffic into Services.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api
port:
number: 80Ingress manages external HTTP/HTTPS access based on hostnames and paths. It requires an Ingress controller.
spec:
tls:
- hosts:
- app.example.com
secretName: app-example-com-tlsLimit pod-to-pod ingress and egress traffic.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
spec:
podSelector: {}
policyTypes:
- IngressapiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: api-allow-from-web
spec:
podSelector:
matchLabels:
app: api
policyTypes: ["Ingress"]
ingress:
- from:
- podSelector:
matchLabels:
app: web
ports:
- protocol: TCP
port: 8080