Этот пост является первой частью серии о Куберане. Вместо того, чтобы серию учебников это предназначено для периодического журнала моего путешествия, изучающей концепции и инструменты, касающиеся оркестрации с использованием Kubernetes.
Установка
Как я намеревался узнать, как использовать Kubernetes (не управлять им), я начал кластер Kubernetes в Google Cloud Platform и работал оттуда. Следовательно, я не буду адресовать Kubernetes Cluster установку и конфигурацию в этой серии. Для получения более подробной информации о том, как использовать кластер GCP Kubernetes, нажмите здесь Отказ
Первый: концепции
Одна вещь, которая всегда помогает мне лучше понять и узнать новую технологию или инструмент — понять, какова цель инструмента или технологии, для чего он используется, а также получить концепции правильно .
Убедитесь, что вы понимаете, что основные концепции — это отличная помощь в дороге впереди улучшения ваших знаний о инструменте/технологии, которую вы изучаете.
Итак, давайте начнем с понимания Что такое Кубернеты Отказ
Кубернеты
Kubernetes — это инструмент оркестровки, который позволяет нам управлять контейнерными приложениями по группе узлов. Не только предоставляют механизмы быстрого запуска тех, но и как обновлять, развернуть и предоставлять доступ к ним доступ.
POD: атом в Кубернане Вселенную
POD — самая маленькая единица внутри кластера Kubernetes, и он представляет собой коллекцию контейнеров приложений и объемов, работающих в одном и том же изолированном выполнении. Каждый контейнер в том же POD разделяет тот же IP-адрес, пространство имен и хранилище.
Хотя я описал POD в качестве коллекции контейнеров, наиболее распространенным рисунком — иметь один контейнер на POD. Если вам нужно дважды подумать о группе нескольких контейнеров в том же POD, спросите себя
Будут ли эти контейнеры работать правильно, если они приземляются на разных машинах?
Если ответ: «Нет», вы действительно должны группировать эти контейнеры в том же POD, в противном случае просто не делай этого.
Kubectl: Основы
Прежде чем идти дальше, давайте посмотрим на некоторые основные возможности Kubectl (инструмент командной строки Kubernetes).
Версия и статус
Чтобы гарантировать, что Kubectl и Kubernetes работают правильно, вы можете запустить:
kubectl version
И вы должны увидеть что-то вроде изображения ниже, где он перечислен версия кластера Kubernetes и Client.
Кроме того, вы также можете проверить статус основных компонентов кластеров Kubernetes с:
kubectl get componentstatuses
Который должен предоставить вам выход, похожий на этот:
Узлы
Чтобы получить информацию о узлах, которые составляют кластер Kubernetes и могут быть запланированы с работой, выполнив следующую команду:
kubectl get nodes
Эта команда, как вы можете видеть на следующем изображении, дает вам список с какой-то основной информацией для каждого узла вашего кластера. Как я уже говорил ранее, мой кластер находится на облачной платформе Google, поэтому, в зависимости от вашей настройки (локальный кластер или кластер в другом поставщике облака), вывод может быть немного отличным.
Подвигание
Теперь, чтобы быстро показать вам о стручках, давайте создадим один, запустив:
kubectl run kubernetes-hello-world --image=paulbouwer/hello-kubernetes:1.9 --port=8080
Обратите внимание, что Kubectl Run
Не идеальный способ сделать вещи, но давайте сделаем это ради примера. В следующем посте мы исследуем правильный способ определить ресурсы (декларативный путь). Вы должны увидеть выходной выход, похожий на этот:
Теперь, если вы запустите:
kubectl get pods
Вы получите следующий вывод, где вы можете увидеть POD, созданный с помощью Kubectl Run
команда.
Вы также можете проверить более подробную информацию с другими командами, такими как описывать
и журналы
, следующее:
kubectl describe pods kubernetes-hello-world kubectl logs kubernetes-hello-world
Первый дает вам подробное описание указанного POD, как показано ниже:
Name: kubernetes-hello-world Namespace: default Priority: 0 Node: gke-kuar-cluster-default-pool-41051aa0-hs4q/10.138.15.194 Start Time: Thu, 11 Mar 2021 17:44:41 +0000 Labels: run=kubernetes-hello-world Annotations:Status: Running IP: 10.96.14.3 IPs: IP: 10.96.14.3 Containers: kubernetes-hello-world: Container ID: docker://db09b9c745c03f3e757f1f386f5df8e04e48faaace587cfa72ed1f3e6a751300 Image: paulbouwer/hello-kubernetes:1.9 Image ID: docker-pullable://paulbouwer/hello-kubernetes@sha256:be6b5ba3abdca6e01689e0d1d27b41410fb5bf5793da407108a89ef355f362f0 Port: 8080/TCP Host Port: 0/TCP State: Running Started: Thu, 11 Mar 2021 17:44:50 +0000 Ready: True Restart Count: 0 Environment: Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-dzc9f (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: default-token-dzc9f: Type: Secret (a volume populated by a Secret) SecretName: default-token-dzc9f Optional: false QoS Class: BestEffort Node-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 23m default-scheduler Successfully assigned default/kubernetes-hello-world to gke-kuar-cluster-default-pool-41051aa0-hs4q Normal Pulling 23m kubelet Pulling image "paulbouwer/hello-kubernetes:1.9" Normal Pulled 23m kubelet Successfully pulled image "paulbouwer/hello-kubernetes:1.9" Normal Created 23m kubelet Created container kubernetes-hello-world Normal Started 23m kubelet Started container kubernetes-hello-world
Второй вариант дает вам журналы, связанные с запущенным контейнерами. Эти методы отладки и проверки доступны в каждом ресурсе, доступном в Kubernetes (PODS, развертывания, услуги и т. Д.).
Один конечный способ отладить свое приложение, кроме журналов, заключается в проверке и взаимодействии с запущенными контейнерами (ыми) с Exec
с участием:
kubectl exec -it kubernetes-hello-world -- sh
Вы можете увидеть один пример этого взаимодействия в следующем изображении:
Наконец, удалить созданный POD, запустить:
Если вам нравится мое объяснение, вы можете следовать за мной, я опубликую следующие части этой серии в ближайшие недели.
Нажмите здесь для Следующая часть Отказ
Оригинал: «https://dev.to/vascoalramos/learning-kubernetes-concepts-part-1-pb0»