Pages

Sunday, February 10, 2019

Kubernetes

Hello World

Following examples from https://github.com/DevOps-with-Kubernetes/examples

Starting minikube:
minikube start --vm-driver=none
Example helloworld_pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: example
spec:
  containers:
    - name: web
      image: nginx
      imagePullPolicy: Never
    - name: centos
      image: centos
      imagePullPolicy: Never
      command: ["bin/sh", "-c", "while : ; do curl http://localhost:80/ sleep 10; done"]
Run this using
kubectl create -f helloworld_pod.yaml
kubectl  get pods
kubectl logs  example -c centos

Cluster Service 

service_pod_1.yaml
apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-1.12
spec:
  replicas: 2
  selector:
    project: service_clusterip
    service: web
    version: "0.1"
  template:
    metadata:
      name: nginx
      labels:
        project: service_clusterip
        service: web
        version: "0.1"
    spec:
      containers:
      - name: nginx
        image: nginx:1.12.0
        ports:
        - containerPort : 80  
service_pod_2.yaml
apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-1.13
spec:
  replicas: 2
  selector:
    project: service_clusterip
    service: web
    version: "0.2"
  template:
    metadata:
      name: nginx
      labels:
        project: service_clusterip
        service: web
        version: "0.2"
    spec:
      containers:
      - name: nginx
        image: nginx:1.13.1
        ports:
        - containerPort : 80   
service.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    project: service_clusterip
    service: web
  ports:
  - protocol: TCP
    port : 80
    targetPort: 80
    name: http 
Run Service
kubectl create -f service_pod_1.yaml
kubectl create -f service_pod_2.yaml
kubectl create -f service.yaml
kubectl get service
kubectl get pods
kubectl describe pods nginx-1.13-2r9rf
kubectl get endpoints 

checker.yaml

apiVersion: v1
kind: Pod
metadata:
  name: clusterip-chk
spec:
  containers:
  - name: centos
    image: centos
    command: ["/bin/sh", "-c", "while : ;do curl http://${NGINX_SERVICE_SERVICE_HOST}:80/; sleep 10; done"] 
Find the logs
kubectl logs -f clusterip-chk

No comments:

Post a Comment