title | weight | type |
---|---|---|
Установка компонентов Knative с помощью Operator |
10 |
docs |
Knative предоставляет operator как инструмент для установки, конфигурирования и управления Knative. Operator Knative использует кастомные объекты в кластере для определения и управления установленным программным обеспечением Knative. Этот гайд объясняет, как устанавливать и удалять Knative с помощью Operator Knative.
Установка Knative с помощью Operator требует следующего:
Operator Knative находится на стадии Alpha. Он не был протестирован в производственной среде и должен использоваться только для целей разработки или тестирования.## Установка Knative с помощью Operator Knative
Вы можете найти информацию о выпусках Operator Knative на странице Releases.
Из выпусков:
Установите последний Operator Knative с помощью следующей команды:
kubectl apply -f {{< artifact org="knative" repo="operator" file="operator.yaml" >}}
Из исходного кода:
Вы также можете установить Operator Knative из исходного кода с помощью ko
.
git clone https://github.com/knative/operator.git
ko apply -f config/
Проверьте установку Operator Knative с помощью следующей команды:
kubectl get deployment knative-operator
Если оператор установлен правильно, развертывание должно показывать статус Ready
. Вот пример вывода:
ИМЯ ГОТОВНОСТЬ АКТУАЛЬНО ДОСТУПНО ВЕК
knative-operator 1/1 1 1 19ч
Используйте следующую команду для отслеживания журнала оператора:
kubectl logs -f deploy/knative-operator
Создайте и примените Knative Serving CR:
{{< tabs name="serving_cr" default="Установка текущего Serving (по умолчанию)" >}}{{% tab name="Установка текущего Serving (по умолчанию)" %}} Вы можете установить последнюю доступную версию Knative Serving в операторе, применив YAML-файл, содержащий следующее:``` apiVersion: v1 kind: Namespace metadata: name: knative-serving
apiVersion: operator.knative.dev/v1alpha1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving
Если вы не укажете версию с помощью `spec.version`, оператор по умолчанию использует последнюю доступную версию.
{{< /tab >}}
{{% tab name="Установка будущего Knative Serving" %}} Вам не нужно обновлять оператор до новой версии для установки новых выпусков Knative Serving. Если Knative Serving выпускает новую версию, например `{{spec.version}}`, вы можете установить её, применив YAML-файл, содержащий следующее:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
namespace: knative-serving
spec:
version: {{spec.version}}
manifests:
- URL: https://github.com/knative/serving/releases/download/v${VERSION}/serving-core.yaml
- URL: https://github.com/knative/serving/releases/download/v${VERSION}/serving-hpa.yaml
- URL: https://github.com/knative/serving/releases/download/v${VERSION}/serving-post-install-jobs.yaml
- URL: https://github.com/knative/net-istio/releases/download/v0.17.0/net-istio.yaml
```Поле spec.version
используется для установки версии Knative Serving. Замените `{{spec.version}}` на правильный номер версии. Тег `${VERSION}` автоматически заменяется номером версии из `spec.version` оператором. Поле `spec.manifests` используется для указания одного или нескольких URL-ссылок компонента Knative Serving. Не забудьте добавить действительный URL плагина сетевого входа Knative. Компонент Knative Serving по-прежнему тесно связан с плагином сетевого входа в операторе. Как в приведенном выше примере, вы можете использовать `net-istio`. Порядок URL-ссылок критичен. Поместите манифест, который вы хотите применить первым, в верхнюю часть списка.{{< /tab >}}{{% tab name="Установка кастомизированного Knative Serving" %}} Оператор предоставляет вам гибкость для установки кастомизированного
Knative Serving в соответствии с вашими собственными требованиями. Если манифесты кастомизированного Knative Serving доступны оператору,
они могут быть установлены.
Например, версия кастомизированного Knative Serving — {{spec.version}}
, и она доступна по адресу https://my-serving/serving.yaml
.
Вы выбираете net-istio
как плагин ingress, который доступен по адресу https://my-net-istio/net-istio.yaml
.
Вы можете создать содержимое CR Serving следующим образом:
apiVersion: v1
kind: Namespace
metadata:
name: knative-serving
---
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
namespace: knative-serving
spec:
version: {{spec.version}}
manifests:
- URL: https://my-serving/serving.yaml
- URL: https://my-net-istio/net-istio.yaml
Вы можете сделать кастомизированный Knative Serving доступным по одному или нескольким ссылкам, так как spec.manifests
поддерживает список
ссылок. Порядок ссылок критичен. Поместите манифест, который вы хотите применить первым, в верхнюю часть списка. Мы настоятельно рекомендуем вам
указывать версию и действительные ссылки для кастомизированного Knative Serving, используя как spec.version
, так и spec.manifests
. Не пропускайте ни одно из этих полей.
{{< /tab >}}
{{< /tabs >}}
kubectl get deployment -n knative-serving
Если Knative Serving успешно развернут, все развертывания Knative Serving покажут статус READY
. Вот пример вывода:```
NAME READY UP-TO-DATE AVAILABLE AGE
activator 1/1 1 1 18s
autoscaler 1/1 1 1 18s
autoscaler-hpa 1/1 1 1 14s
controller 1/1 1 1 18s
istio-webhook 1/1 1 1 12s
networking-istio 1/1 1 1 12s
webhook 1/1 1 1 17s
3. Проверьте статус CR Knative Serving:
kubectl get KnativeServing knative-serving -n knative-serving
Если Knative Serving успешно установлен, вы должны увидеть:
NAME VERSION READY REASON knative-serving <номер версии> True
### Установка компонента Knative Eventing
1. Создайте и примените CR для Knative Eventing:
<!-- Эта отступация важна для правильного отображения. -->
{{< tabs name="eventing_cr" default="Установка текущего Eventing (по умолчанию)" >}}
{{% tab name="Установка текущего Eventing (по умолчанию)" %}} Вы можете установить последнюю доступную версию Knative Eventing
оператором, применив YAML-файл, содержащий следующее:
apiVersion: operator.knative.dev/v1alpha1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing
Если вы не укажете версию с помощью `spec.version`, оператор по умолчанию установит последнюю доступную версию.
{{< /tab >}}
{{% tab name="Установка будущей версии Knative Eventing" %}} Вам не нужно обновлять оператор до новой версии для установки новых
релизов Knative Eventing. Если Knative Eventing выпускает новую версию, например `{{spec.version}}`, вы можете установить её,
применив YAML-файл, содержащий следующее:```
apiVersion: v1
kind: Namespace
metadata:
name: knative-eventing
---
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
version: {{spec.version}}
manifests:
- URL: https://github.com/knative/eventing/releases/download/v${VERSION}/eventing.yaml
- URL: https://github.com/knative/eventing/releases/download/v${VERSION}/eventing-post-install-jobs.yaml
Поле spec.version
используется для установки версии Knative Eventing. Замените {{spec.version}}
на правильный номер версии.
Тег ${VERSION}
автоматически заменяется номером версии из spec.version
оператором.
Поле spec.manifests
используется для указания одного или нескольких URL-ссылок компонентов Knative Eventing. Не забудьте добавить
валидный URL плагина Knative network ingress. Порядок URL-ссылок критичен. Поместите манифест, который вы хотите применить первым, в верхнюю часть.
{{< /tab >}}
{{% tab name="Установка кастомизированного Knative Eventing" %}} Оператор предоставляет вам гибкость для установки кастомизированного Knative Eventing в соответствии с вашими собственными требованиями. Если манифесты кастомизированного Knative Eventing доступны оператору, они могут быть установлены.
{{< /tab >}}Например, версия кастомизированного Knative Eventing — {{spec.version}}
, и она доступна по адресу https://my-eventing/eventing.yaml
.
Вы можете создать содержимое Eventing CR следующим образом:
apiVersion: v1
kind: Namespace
metadata:
name: knative-eventing
---
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
name: knative-eventing
namespace: knative-eventing
spec:
version: {{spec.version}}
manifests:
- URL: https://my-eventing/eventing.yaml
```Вы можете сделать кастомизированный Knative Eventing доступным по одному или нескольким ссылкам, так как `spec.manifests` поддерживает список ссылок. Порядок ссылок критичен. Поместите манифест, который вы хотите применить первым, в верхнюю часть списка. Мы настоятельно рекомендуем вам указывать версию и действительные ссылки кастомизированного Knative Eventing, используя как `spec.version`, так и `spec.manifests`. Не пропускайте ни одно из этих полей.
{{< /tab >}}
{{< /tabs >}}
2. Проверьте развертывание Knative Eventing:
kubectl get deployment -n knative-eventing
Если Knative Eventing успешно развернут, все развертывания Knative Eventing покажут статус `READY`. Вот пример вывода:
NAME READY UP-TO-DATE AVAILABLE AGE broker-controller 1/1 1 1 63s broker-filter 1/1 1 1 62s broker-ingress 1/1 1 1 62s eventing-controller 1/1 1 1 67s eventing-webhook 1/1 1 1 67s imc-controller 1/1 1 1 59s imc-dispatcher 1/1 1 1 59s mt-broker-controller 1/1 1 1 62s
3. Проверьте статус Custom Resource Knative Eventing:
kubectl get KnativeEventing knative-eventing -n knative-eventing
Если Knative Eventing успешно установлен, вы должны увидеть:
NAME VERSION READY REASON knative-eventing True
## Удаление Knative
### Удаление компонента Knative Serving
Удалите Custom Resource Knative Serving:
kubectl delete KnativeServing knative-serving -n knative-serving
### Удаление компонента Knative EventingУдалите Custom Resource Knative Eventing:
kubectl delete KnativeEventing knative-eventing -n knative-eventing
Оператор Knative не позволяет небезопасное удаление ресурсов Knative. Даже если CR Knative Serving и Knative Eventing успешно удалены, все CRDs в Knative всё ещё остаются в кластере. Все ваши ресурсы, зависящие от CRDs Knative, всё ещё могут работать.
### Удаление оператора Knative:
Если вы установили Knative с помощью страницы релизов, удалите оператор с помощью следующей команды:
kubectl delete -f {{< artifact org="knative" repo="operator" file="operator.yaml" >}}
Если вы установили Knative из исходного кода, деинсталлируйте его с помощью следующей команды, находясь в корневой директории исходного кода:
ko delete -f config/
## Что дальше
- [Настройка Knative Serving с помощью оператора](./operator/configuring-serving-cr.md)
- [Настройка Knative Eventing с помощью оператора](./operator/configuring-eventing-cr.md)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )