Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Щупаем Kubernetes за всякое часть 4


 

Щупаем Kubernetes за всякое часть 4


Имеем мастер-ноду из предыдущих частей с ip - 192.168.0.128

По умолчанию на мастере не запускаются контейнеры
Мастер лишь следит за состоянием кластера и размещает ресурсы

Разрешить запуск контейнеров на мастере:
$ kubectl taint nodes --all node-role.kubernetes.io/master-
taint "node-role.kubernetes.io/master" not found
taint "node-role.kubernetes.io/master" not found

Приведет к удалению taint node-role.kubernetes.io/master со всех узлов
Scheduler (планировщик) сможет теперь планировать Pods на всех узлах


Создаем пространство имен:
$ kubectl create namespace test
namespace/test created


Создаем развертывание nginx с 2 репликами nginx-test.yaml:


Применяем манифест для создания развертывания:
$ kubectl apply -f nginx-test.yaml
deployment.apps/nginx created
service/nginx-test-service created


Смотрим на созданный сервис
$ kubectl describe deployment -n test nginx
Name:                   nginx
Namespace:              test
CreationTimestamp:      Wed, 10 Jun 2020 07:33:16 +0000
Labels:                 app=nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               app=nginx
Replicas:               2 desired | 2 updated | 2 total | 0 a...
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  app=nginx
  Containers:
   nginx:
    Image:      nginx:latest
    Port:       80/TCP
    Host Port:  0/TCP
    Limits:
      cpu:     100m
      memory:  128Mi
    Requests:
      cpu:        50m
      memory:     64Mi
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      False   MinimumReplicasUnavailable
  Progressing    False   ProgressDeadlineExceeded
OldReplicaSets:  <none>
NewReplicaSet:   nginx-5b57998846 (2/2 replicas created)
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  15m   deployment-controller  Scaled ...


Проверяем наличие Pods на мастер ноде:

$ kubectl get pods -n test -o wide
NAME                     READY   STATUS            RESTARTS   AGE
nginx-5b57998846-hw2q5   0/1     ContainerCreating 0          45s
nginx-5b57998846-mbvsz   0/1     ContainerCreating 0          46s

$ kubectl get pods -n test -o wide
NAME                     READY   STATUS  IP          NODE             
nginx-84b77b5687-bkhxb   1/1     Running 10.32.0.5   kubernetes-master
nginx-84b77b5687-jkzhg   1/1     Runnin  10.32.0.4   kubernetes-master


Если что-то пойдет не так, смотрите ошибки:
$ kubectl describe pod -n test nginx-84b77b5687-bkhxb
$ kubectl describe pod -n test nginx-84b77b5687-jkzhg 


Проверяем службу:
$ kubectl get svc -n test
NAME               TYPE     CLUSTER-IP     EXT-IP PORT(S)       
nginx-test-service NodePort 10.107.219.136 <none> 80:31084/TCP

Т.к. используется NodePort:
Разрешен доступ к службе с любого IP-адреса узла кластера
Доступ идет через динамически назначенный порт - 31084

Сделайте запрос с любой машины в сети:
$ curl -I 192.168.0.128:31084
HTTP/1.1 200 OK
Server: nginx/1.19.0
Date: Wed, 10 Jun 2020 08:32:34 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 26 May 2020 15:00:20 GMT
Connection: keep-alive
ETag: "5ecd2f04-264"
Accept-Ranges: bytes


Удалите Pods с помощью манифеста:
$ kubectl delete -f nginx-test.yaml

Проверьте:
$ kubectl get pods,svc -n test

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru