воскресенье, 28 апреля 2019 г.

minikube ingress и deploy

Запускаем веб-сервер nginx в minikube на 80 порту. Для этого нам нужно 2 yaml файла

  • nginx.yaml
  • ingress.yaml
  • /etc/hosts

Содержание файла nginx.yaml (запуск две реплики nginx)


apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:

        - containerPort: 80

Содержание файла ingress.yaml


apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: nurlan.kz
spec:
 backend:
   serviceName: nginx
   servicePort: 80
 rules:
 - host: nurlan.kz
   http:
     paths:
     - backend:
         serviceName: nginx

         servicePort: 80
         servicePort: 80
1) Сначала создаем реплики nginx командой kubectl apply -f nginx.yaml &&
kubectl expose deployment nginx --type=NodePort --port=80 

При этом контейнеры получат случайные порты в диапазоне 30000-32500, проверить это можем командой kubectl get svc


    60m
3) Проверяем состояние подов командой kubectl get pods
root@osboxes:~/kube-nginx# kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
hello-minikube-56cdb79778-qkwnb   1/1     Running   1          10h
hello-node-8549787f44-5bt8g       1/1     Running   2          11h
hello-node1-576787c64-4rjr8       1/1     Running   2          11h
nginx-64fc4c755d-l5b64            1/1     Running   0          84m

nginx-64fc4c755d-r2m8x            1/1     Running   0          84m


Отлично поды запущены.

4) включаем аддон ingress командой minikube addons enable ingress
и создаем ingress командой kubectl create -f ingress.yml

5) Проверяем наш ingress командой kubectl get ingress
root@osboxes:~/kube-nginx# kubectl get ing
NAME         HOSTS        ADDRESS         PORTS   AGE

website.kz   website.kz                    80     17m

6) Наш ingress запущен, но без IP адресс(ADDRESS)

Для этого добавляем в /etc/hosts запись

192.168.0.105 website.kz

7) Снова проверяем, теперь IP адрес точки входа появился.
root@osboxes:~/kube-nginx# kubectl get ing
NAME         HOSTS        ADDRESS         PORTS   AGE

website.kz   website.kz   192.168.0.105   80      17m

8) Пробуем открыть сайт в браузере, работает.


Комментариев нет:

Отправить комментарий