1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/knative-docs

Клонировать/Скачать
knative-with-operators.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 27.05.2025 06:04 d330922
title weight type
Установка компонентов Knative с помощью Operator
10
docs

Knative предоставляет operator как инструмент для установки, конфигурирования и управления Knative. Operator Knative использует кастомные объекты в кластере для определения и управления установленным программным обеспечением Knative. Этот гайд объясняет, как устанавливать и удалять Knative с помощью Operator Knative.

Перед началом

Установка Knative с помощью Operator требует следующего:

  • Kubernetes кластер версии 1.16 или выше, а также совместимый kubectl. Этот гайд предполагает, что вы уже создали Kubernetes кластер. Если у вас только один узел для вашего кластера, установите CPU на уровне не менее 6, память на уровне не менее 6.0 ГБ, дисковое пространство на уровне не менее 30 ГБ. Если у вас несколько узлов для вашего кластера, установите CPU на уровне не менее 2, память на уровне не менее 4.0 ГБ, дисковое пространство на уровне не менее 20 ГБ для каждого узла.
  • Kubernetes кластер должен иметь доступ к интернету, так как Operator Knative загружает изображения онлайн.
  • Загрузите и установите Istio.

Ограничения Operator Knative:

Operator Knative находится на стадии Alpha. Он не был протестирован в производственной среде и должен использоваться только для целей разработки или тестирования.## Установка Knative с помощью Operator Knative

Вы можете найти информацию о выпусках Operator Knative на странице Releases.

Установка Operator Knative

Из выпусков:

Установите последний Operator Knative с помощью следующей команды:

kubectl apply -f {{< artifact org="knative" repo="operator" file="operator.yaml" >}}

Из исходного кода:

Вы также можете установить Operator Knative из исходного кода с помощью ko.

  1. Установите ko инструмент сборки.
  2. Загрузите исходный код с помощью следующей команды:
git clone https://github.com/knative/operator.git
  1. Установите оператор в корневом каталоге исходного кода с помощью следующей команды:
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

  1. Создайте и примените 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: 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://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 >}}

  1. Проверьте развертывание Knative Serving:
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: v1 kind: Namespace metadata: name: knative-eventing

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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/knative-docs.git
git@api.gitlife.ru:oschina-mirror/knative-docs.git
oschina-mirror
knative-docs
knative-docs
master