Имеем мастер-ноду из предыдущих частей с 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
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!