Интерфейс командной строки Azure Service Fabric
Интерфейс командной строки Azure Service Fabric — это служебная программа командной строки для взаимодействия с сущностями Service Fabric и управления ими. Интерфейс командной строки Service Fabric можно использовать с кластерами Windows и Linux. Он выполняется на любой платформе, поддерживающей Python.
Внимание
Для работы с Service Fabric доступны две служебные программы CLI. Azure CLI используется для управления ресурсами Azure, включая кластер Service Fabric, размещенный в Azure. Service Fabric CLI используется для непосредственного подключения к кластеру Service Fabric (независимо от того, где он размещается), а также для управления кластером, приложениями и службами.
Необходимые компоненты
Прежде чем начать установку, убедитесь, что в вашей среде установлены Python и pip. Дополнительные сведения см. в кратком руководстве по началу работы с pip и официальной документации по установке Python.
CLI поддерживает версии Python 2.7 и 3.6 и более поздние, рекомендуется версия Python 3 и выше.
Целевая среда выполнения Service Fabric
Интерфейс командной строки Service Fabric используется для поддержки последней версии среды выполнения пакета SDK для Service Fabric. Воспользуйтесь следующей таблицей, чтобы определить, какую версию интерфейса командной строки следует установить.
Версия интерфейса командной строки | Поддерживаемая версия среды выполнения |
---|---|
Последняя (~ = 10) | Последняя (~ = 7,1) |
9.0.0 | 7.1 |
8.0.0 | 6,5 |
7.1.0 | 6,4 |
6.0.0 | 6.3 |
5.0.0 | 6,2 |
4.0.0 | 6.1 |
3.0.0 | 6,0 |
1.1.0 | 5.6, 5.7 |
При необходимости можно указать целевую версию интерфейса командной строки для установки, добавив к команде pip install
суффикс ==<version>
. Например, для версии 1.1.0 синтаксис будет выглядеть следующим образом:
pip install -I sfctl==1.1.0
При необходимости замените следующую команду pip install
ранее упомянутой командой.
Дополнительные сведения о выпусках интерфейса командной строки Service Fabric см. в документации GitHub.
Установка pip, Python и интерфейса командной строки Service Fabric
Существует много способов установки pip и Python на вашей платформе. Ниже приведены действия для быстрой установки Python 3 и pip, которые подходят для большинства операционных систем.
Windows
Для Windows 10, Windows Server 2016 и Windows Server 2012 R2 используйте стандартные официальные инструкции по установке. Установщик Python также по умолчанию устанавливает pip.
Перейдите на официальную страницу загрузок Python и скачайте последний выпуск Python 3.x.
Запустите установщик.
В нижней части окна запроса выберите Add Python 3.x. to PATH (Добавить Python 3.x. в PATH).
Выберите Install Now (Установить сейчас) и завершите установку.
Теперь можно открыть новое командное окно, чтобы узнать версию Python и pip.
python --version
pip --version
Затем выполните следующую команду, чтобы установить CLI Azure Service Fabric (sfctl) и просмотреть страницу справки CLI:
pip install sfctl
sfctl -h
Подсистема Ubuntu и Windows для Linux
Чтобы установить интерфейс командной строки Service Fabric, выполните следующие команды.
sudo apt-get install python3
sudo apt-get install python3-pip
pip3 install sfctl
Затем можно проверить установку, выполнив следующую команду.
sfctl -h
Если вы получили ошибку, что команда не найдена, например:
sfctl: command not found
Убедитесь, что ~/.local/bin
доступен из $PATH
.
export PATH=$PATH:~/.local/bin
echo "export PATH=$PATH:~/.local/bin" >> .shellrc
Если установка подсистемы Windows для Linux завершается сбоем из-за неверных разрешений папки, может потребоваться повторить попытку с повышенным уровнем разрешений.
sudo pip3 install sfctl
Red Hat Enterprise Linux 7.4 (поддержка предварительной версии Service Fabric)
Чтобы установить интерфейс командной строки Service Fabric в Red Hat, выполните следующие команды:
sudo yum install -y python38
sudo yum install python38-setuptools
sudo easy_install-3.4 pip
sudo pip3 install sfctl
Чтобы протестировать установку, выполните действия из раздела Подсистема Ubuntu и Windows для Linux.
MacOS
Для MacOS мы рекомендуем использовать диспетчер пакетов HomeBrew. Если диспетчер HomeBrew еще не установлен, установите его, выполнив следующую команду:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Затем с помощью терминала установите последнюю версию Python 3.x., pip и интерфейс командной строки Service Fabric, выполнив следующие команды:
brew install python3
pip3 install sfctl
sfctl -h
Синтаксис CLI
Команды всегда начинаются с префикса sfctl
. Чтобы получить общие сведения обо всех командах, которые можно применять, используйте sfctl -h
. Для получения сведений об одной команде используйте sfctl <command> -h
.
Команды подчиняются повторяющейся структуре, где целевой объект команды указан перед командой (глаголом) или действием.
sfctl <object> <action>
В этом примере <object>
— целевой объект для <action>
.
Выбор кластера
Перед выполнением любых операций выберите кластер, к которому нужно подключиться. Например, чтобы выбрать кластер testcluster.com
и подключиться к нему, выполните следующую команду:
Предупреждение
Не используйте незащищенные кластеры Service Fabric в рабочей среде.
sfctl cluster select --endpoint http://testcluster.com:19080
Конечная точка кластера должна иметь префикс http
или https
. Она должна включать порт для шлюза HTTP. Этот порт и адрес аналогичны URL-адресу Service Fabric Explorer.
Для кластеров, защищенных с помощью сертификата, можно указать сертификат в кодировке PEM. Сертификат можно указать как один файл или как пару "сертификат — ключ". Если это самозаверяющий сертификат, который не подписан центром сертификации (ЦС), вы можете передать параметр --no-verify
для обхода проверки ЦС.
sfctl cluster select --endpoint https://testsecurecluster.com:19080 --pem ./client.pem --no-verify
Дополнительные сведения см. в статье Безопасное подключение к кластеру.
Базовые операции
Сведения о подключении кластера сохраняются между различными сеансами интерфейса командной строки Service Fabric. Выбрав кластер Service Fabric, можно выполнить любую команду Service Fabric в кластере.
Например, чтобы получить сведения о работоспособности кластера Service Fabric, используйте следующую команду:
sfctl cluster health
Результаты команды должны быть следующими:
{
"aggregatedHealthState": "Ok",
"applicationHealthStates": [
{
"aggregatedHealthState": "Ok",
"name": "fabric:/System"
}
],
"healthEvents": [],
"nodeHealthStates": [
{
"aggregatedHealthState": "Ok",
"id": {
"id": "66aa824a642124089ee474b398d06a57"
},
"name": "_Test_0"
}
],
"unhealthyEvaluations": []
}
Рекомендации и устранение неполадок
В этом разделе приведены рекомендации и советы по устранению распространенных проблем.
Преобразование сертификата PFX в формат PEM
Интерфейс командной строки Service Fabric поддерживает клиентские сертификаты, такие как PEM-файлы. При использовании PFX-файлов из Windows эти сертификаты необходимо преобразовать в формат PEM. Чтобы преобразовать PFX-файл в PEM-файл, используйте следующую команду:
openssl pkcs12 -in certificate.pfx -out mycert.pem -nodes
Аналогично, чтобы преобразовать PEM-файл в PFX-файл, можно использовать следующую команду (здесь не нужно вводить пароль):
openssl pkcs12 -export -out Certificates.pfx -inkey Certificates.pem -in Certificates.pem -passout pass:''
Дополнительные сведения см. в документации по OpenSSL.
Проблемы с подключением
Некоторые операции могут создавать следующее сообщение:
Failed to establish a new connection
Убедитесь, что указанная конечная точка кластера доступна и ожидает передачи данных. Также проверьте, доступен ли для этого узла и порта пользовательский интерфейс Service Fabric Explorer. Обновите конечную точку с помощью sfctl cluster select
.
Подробные журналы
Подробные журналы часто полезны при отладке или при сообщении о проблеме. Флаг --debug
повышает детализацию выходных данных.
Справка и синтаксис для команд
Для получения справки по определенной команде или группе команд используйте флаг -h
.
sfctl application -h
Вот еще один пример:
sfctl application create -h
Обновления интерфейса командной строки Service Fabric
Чтобы обновить интерфейс командной строки Service Fabric, выполните следующие команды (замените параметр pip
на pip3
в зависимости от того, какой вы выбрали во время первоначальной установки):
pip uninstall sfctl
pip install sfctl
Следующие шаги
- Manage an Azure Service Fabric application by using Azure Service Fabric CLI (Управление приложением Azure Service Fabric с помощью интерфейса командной строки Azure Service Fabric)
- Prepare your development environment on Linux (Подготовка среды разработки в Linux)