Cet article permet d'avoir, rapidement, sous la main, des templates pour les objets principaux de Kubernetes :

Namespaces

apiVersion: v1
kind: Namespace

metadata:
  name: namespace

Pods

apiVersion: v1
kind: Pod

metadata:
  name: pod
  labels:
    app: test
    tiers: frontend

spec:
  containers:
    - name: nginx
      image: nginx

Replicasets

apiVersion: apps/v1
kind: ReplicaSet

metadata:
  name: replicaset
  labels:
    app: test
    tiers: frontend

spec:
  template:
    metadata:
      name: pod
      labels:
        app: test
        tiers: frontend

    spec:
      containers:
      - name: nginx
        image: nginx
  
  replicas: 4
  selector:
    matchLabels:
      app: test
      tiers: frontend

Deployments

apiVersion: apps/v1
kind: Deployment

metadata:
  name: deployment
  labels:
    app: test
    tiers: frontend

spec:
  template:
    metadata:
      name: pod
      labels:
        app: test
        tiers: frontend

    spec:
      containers:
      - name: nginx
        image: nginx
  
  replicas: 4
  selector:
    matchLabels:
      app: test
      tiers: frontend

Services

Node Ports

apiVersion: v1
kind: Service

metadata:
  name: np-service

spec:
  type: NodePort
  ports:
    - targetPort: 80
      port: 80
      nodePort: 30080
      
  selector:
    app: test

Cluster IP

apiVersion: v1
kind: Service

metadata:
  name: cip-service

spec:
  type: ClusterIP
  ports:
    - targetPort: 80
      port: 80
      
  selector:
    app: test

Load Balancer

apiVersion: v1
kind: Service

metadata:
  name: lb-service

spec:
  type: LoadBalancer
  ports:
    - targetPort: 80
      port: 80
      nodePort: 30080
      
  selector:
    app: test