Версии клиента и сервера Kubernetes

KubernetesKubernetesBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Kubernetes - это мощный инструмент оркестрации контейнеров, который помогает разработчикам развертывать, масштабировать и управлять контейнеризованными приложениями. Знание версий клиента Kubernetes (kubectl) и сервера является важным для устранения неполадок, обеспечения совместимости и управления обновлениями. В этом лабораторном занятии вы узнаете, как проверить версии клиента и сервера и отформатировать вывод различными способами.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ConfigurationandVersioningGroup(["Configuration and Versioning"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/ConfigurationandVersioningGroup -.-> kubernetes/version("Version") subgraph Lab Skills kubernetes/initialization -.-> lab-9197{{"Версии клиента и сервера Kubernetes"}} kubernetes/get -.-> lab-9197{{"Версии клиента и сервера Kubernetes"}} kubernetes/describe -.-> lab-9197{{"Версии клиента и сервера Kubernetes"}} kubernetes/version -.-> lab-9197{{"Версии клиента и сервера Kubernetes"}} end

Запуск кластера Kubernetes

Перед выполнением любых команд Kubernetes вам нужен работающий кластер. В этом лабораторном занятии мы будем использовать Minikube для настройки локального кластера Kubernetes.

Сначала откройте терминал и убедитесь, что вы находитесь в директории /home/labex/project:

cd ~/project

Затем запустите кластер Minikube с помощью следующей команды:

minikube start

Эта команда инициализирует однодоменный кластер Kubernetes. Minikube предоставляет простой способ тестировать команды Kubernetes локально без необходимости удаленного кластера. Процесс может занять несколько минут, так как Minikube настраивает кластер и устанавливает необходимые компоненты.

Чтобы убедиться, что кластер запущен, вы можете проверить его статус, выполнив команду:

minikube status

Вы должны увидеть статус, указывающий, что кластер запущен. Если это не так, попробуйте перезапустить Minikube с помощью команды minikube delete, а затем minikube start.

Версии клиента и сервера

Чтобы просмотреть информацию о версиях как клиента, так и сервера Kubernetes, используйте следующую команду:

kubectl version

Эта команда выведет детали как для клиента (вашего локального инструмента kubectl), так и для сервера (API Kubernetes, работающего в вашем кластере). Информация о версии включает в себя основную и дополнительную версии, хэш коммита Git, дату сборки и другие данные.

Например, вы можете увидеть такой вывод:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

"Client Version" показывает версию вашего инструмента kubectl, в то время как "Server Version" относится к серверу API Kubernetes в кластере. Эти версии должны идеально совпадать или быть совместимыми, чтобы команды работали корректно.

Получение только версии клиента

Иногда вам может понадобиться проверить только версию вашего инструмента kubectl, например, при устранении локальных проблем или проверке совместимости с удаленным кластером. Чтобы отобразить только версию клиента, используйте следующую команду:

kubectl version --client

Эта команда выводит только версию клиента, не пытаясь подключиться к кластеру Kubernetes. Это особенно полезно, когда кластер недоступен или вы хотите проверить установку kubectl на своей машине.

Вывод будет выглядеть следующим образом:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0",...}

Отображение информации о версии сервера в формате JSON

Kubernetes поддерживает вывод информации в структурированных форматах, таких как JSON, который широко используется в автоматизации и интеграции с другими инструментами. Чтобы отобразить информацию о версии сервера в формате JSON, выполните следующую команду:

kubectl version --output=json

Эта команда получает информацию о версиях как клиента, так и сервера и форматирует ее в виде объекта JSON. Вывод в формате JSON может быть прочитан машиной и разобран скриптами или внешними приложениями.

Вот пример вывода в формате JSON:

{
  "clientVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  },
  "serverVersion": {
    "major": "1",
    "minor": "26",
    "gitVersion": "v1.26.0",
   ...
  }
}

Отображение информации о версии сервера в формате YAML

Kubernetes часто использует YAML для файлов конфигурации и манифестов, что делает его естественным выбором для человекочитаемого вывода. Чтобы отобразить информацию о версии сервера в формате YAML, выполните следующую команду:

kubectl version --output=yaml

Эта команда получает информацию о версии и форматирует ее в виде документа YAML. YAML легче для чтения человеком и обычно используется в рабочих процессах Kubernetes.

Например, вывод в формате YAML может выглядеть так:

clientVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...
serverVersion:
  major: "1"
  minor: "26"
  gitVersion: v1.26.0
 ...

Резюме

В этом практическом занятии вы научились:

  1. Запускать локальный кластер Kubernetes с использованием Minikube.
  2. Получать информацию о версиях как клиента, так и сервера с помощью команды kubectl version.
  3. Проверять версию клиента отдельно с использованием флага --client.
  4. Форматировать информацию о версиях в форматах JSON и YAML для различных сценариев использования.

Понимание деталей версий Kubernetes является важным аспектом при устранении неполадок, обеспечении совместимости и интеграции Kubernetes с другими инструментами. С этими базовыми командами вы будете лучше подготовлены к управлению средами Kubernetes и отладке проблем, связанных с версиями. Продолжайте практиковаться и изучать!