apiVersion: v1 kind: Namespace metadata: name: service-types-example --- apiVersion: apps/v1 kind: Deployment metadata: name: hello-service namespace: service-types-example spec: replicas: 3 selector: matchLabels: app: hello-app template: metadata: labels: app: hello-app spec: containers: - name: awesome-port-8080-workload image: gophernet/netcat command: ["/bin/sh", "-c"] args: ["while true; do echo -e \"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nHello from port 8080\" | nc -l -p 8080; done"] resources: limits: cpu: "100m" memory: "256Mi" ports: - name: http8080 containerPort: 8080 readinessProbe: httpGet: port: http8080 initialDelaySeconds: 2 - name: awesome-port-8081-workload image: gophernet/netcat command: ["/bin/sh", "-c"] args: ["while true; do echo -e \"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nHello from port 8081\" | nc -l -p 8081; done"] resources: limits: cpu: "100m" memory: "256Mi" ports: - name: http8081 containerPort: 8081 readinessProbe: httpGet: port: http8081 initialDelaySeconds: 2 --- apiVersion: v1 kind: Service metadata: name: hello-service-clusterip namespace: service-types-example labels: type: clusterip spec: type: ClusterIP selector: app: hello-app ports: - name: http port: 8081 --- apiVersion: v1 kind: Service metadata: name: hello-service-nodeport namespace: service-types-example labels: type: nodeport spec: type: NodePort selector: app: hello-app ports: - name: http8080 port: 8080 # Will assume the value of 'port' if unspecified targetPort: http8080 nodePort: 30080 - name: http8081 port: 8081 # Will assume the value of 'port' if unspecified targetPort: http8081 nodePort: 30081 --- apiVersion: v1 kind: Service metadata: name: hello-service-loadbalancer namespace: service-types-example labels: type: loadbalancer spec: type: LoadBalancer selector: app: hello-app ports: - name: http8080 port: 8080 - name: http8081 port: 8081 --- apiVersion: v1 kind: Service metadata: name: hello-service-headless-with-selector namespace: service-types-example labels: type: headless spec: clusterIP: None selector: app: hello-app ports: - name: http8080 port: 8080