Service
Example
Here’s an example of a Service.
.kubes/resources/web/service.rb
name "demo-web"
labels(role: "web")
namespace "default"
# Optional since these are the defaults
# port 80
# targetPort 80
#
# type "NodePort"
Produces:
.kubes/output/web/service.yaml
---
apiVersion: v1
kind: Service
metadata:
name: demo-web
labels:
app: demo
namespace: demo
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: demo
type: NodePort
DSL Methods
Here’s a list of some of the methods:
kubectl explain service.spec
- clusterIP
- externalIPs
- externalName
- externalTrafficPolicy
- healthCheckNodePort
- ipFamily
- loadBalancerIP
- loadBalancerSourceRanges
- ports
- publishNotReadyAddresses
- selector
- sessionAffinity
- sessionAffinityConfig
- type
kubectl explain service.spec.ports
- nodePort
- port
- portName: : Note this field doesn’t match the original field name. It’s more qualified.
- protocol
- targetPort
For a full list of the available methods, refer to the source itself syntax/service.rb.