Отже у нас вже є готовий налаштований кластер і, озброївшись необхідним теоретичним мінімумом, ми можемо переходити до подальшого вивчення Kubernetes. Цього разу ми поговоримо детальніше про основні примітиви (objects) Kubernetes, як вони взаємодіють між собою та як реалізовані.
Забігаючи наперед, основні команд для отримання даних про роботу об'єктів є наступні:
ПОД (POD). Створимо под, що буде складатись з одного docker-контейнера і буде доступний на порту 9876. Для цього використаємо образ з dockerhub mhausenblas/simpleservice:0.5.0:
$ kubectl run first-pod --image=mhausenblas/simpleservice:0.5.0 --port=9876
deployment "first-pod" created
Перевіримо чи новий под працює:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
first-pod-2257828502-l6z96 1/1 Running 0 23s
$ kubectl describe pod first-pod-2257828502-l6z96 | grep IP:
IP: 10.34.0.25
Отже, в межах кластеру под працює за адресою 10.34.0.25. Із будь-якого вузла кластеру пересвідчимось в цьому, зробивши запит до додатку:
[cluster]$ curl 10.34.0.25:9876/info
{"host": "10.34.0.25:9876", "version": "0.5.0", "from": "10.32.0.1"}
Забігаючи наперед, основні команд для отримання даних про роботу об'єктів є наступні:
- kubectl get object_type - перерахунок всіх об'єктів даного типу, котрі знаходяться в межах одного неймспейсу
- kubectl describe object_type - детальна інформація про всі об'єкт даного типу, що також знаходяться в одному неймспейсі
ПОД (POD). Створимо под, що буде складатись з одного docker-контейнера і буде доступний на порту 9876. Для цього використаємо образ з dockerhub mhausenblas/simpleservice:0.5.0:
$ kubectl run first-pod --image=mhausenblas/simpleservice:0.5.0 --port=9876
deployment "first-pod" created
Перевіримо чи новий под працює:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
first-pod-2257828502-l6z96 1/1 Running 0 23s
$ kubectl describe pod first-pod-2257828502-l6z96 | grep IP:
IP: 10.34.0.25
Отже, в межах кластеру под працює за адресою 10.34.0.25. Із будь-якого вузла кластеру пересвідчимось в цьому, зробивши запит до додатку:
[cluster]$ curl 10.34.0.25:9876/info
{"host": "10.34.0.25:9876", "version": "0.5.0", "from": "10.32.0.1"}