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

OSCHINA-MIRROR/knative-docs

Клонировать/Скачать
using-a-custom-domain.md 8.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 27.05.2025 06:04 d330922
title weight type
Настройка пользовательского домена
55
docs

По умолчанию, маршруты Knative Serving используют example.com в качестве домена по умолчанию. Полное доменное имя для маршрута по умолчанию имеет вид {route}.{namespace}.{default-domain}.

Чтобы изменить значение {default-domain}, необходимо выполнить несколько шагов:

Редактирование с помощью kubectl

  1. Редактируйте конфигурационный файл config-map, заменив example.com на свой собственный домен, например mydomain.com:

    kubectl edit cm config-domain --namespace knative-serving

    Этот командный запрос откроет вашу стандартную текстовую редактор и позволит вам редактировать конфигурационный файл.

    apiVersion: v1
    data:
      _example: |
        ################################
        #                              #
        #    EXAMPLE CONFIGURATION     #
        #                              #
        ################################
        # ...
        example.com: |
    kind: ConfigMap
  2. Редактируйте файл, заменив example.com на домен, который вы хотите использовать, удалите ключ _example и сохраните изменения. В этом примере мы настраиваем mydomain.com для всех маршрутов:

    apiVersion: v1
    data:
      mydomain.com: ""
    kind: ConfigMap
    [...]

Применение из файла

Вы также можете применить обновленную конфигурацию домена:

  1. Создайте новый файл config-domain.yaml и вставьте следующий текст, заменив значения example.org и example.com на новый домен, который вы хотите использовать: ```yaml apiVersion: v1 kind: ConfigMap metadata: name: config-domain namespace: knative-serving data:

    Эти примеры настроек домена.

    example.org будет использоваться для маршрутов, имеющих app=prod.

    example.org: | selector: app: prod

    Значение домена по умолчанию, для маршрутов, которые не имеют меток app=prod.

    Хотя это будет соответствовать всем маршрутам, это наименее специфическое правило, поэтому оно будет использоваться только в том случае, если ни один другой домен не соответствует.

    example.com: ""

  2. Примените обновленную конфигурацию домена к вашему кластеру:

    kubectl apply --filename config-domain.yaml

Развертывание приложения

Если у вас уже есть развернутое приложение, Knative примет изменения, внесенные в карту конфигурации, и автоматически обновит имя хоста для всех развернутых сервисов и маршрутов.

Разверните приложение (например, helloworld-go), в вашем кластере как обычно. Вы можете получить URL в маршруте Knative "helloworld-go" с помощью следующей команды:

kubectl get route helloworld-go --output jsonpath="{.status.url}"

Вы должны увидеть полное настроенное доменное имя: helloworld-go.default.mydomain.com.

И вы можете проверить IP-адрес вашего шлюза Knative, выполнив:

export INGRESSGATEWAY=istio-ingressgateway

if kubectl get configmap config-istio -n knative-serving &> /dev/null; then
    export INGRESSGATEWAY=istio-ingressgateway
fi

kubectl get svc $INGRESSGATEWAY --namespace istio-system --output jsonpath="{.status.loadBalancer.ingress[*]['ip']}"
```## Локальная настройка DNS

Вы можете отобразить доменное имя на IP-адрес вашего шлюза Knative на вашем локальном компьютере с помощью:

```shell
INGRESSGATEWAY=istio-ingressgateway

export GATEWAY_IP=`kubectl get svc $INGRESSGATEWAY --namespace istio-system --output jsonpath="{.status.loadBalancer.ingress[*]['ip']}"`

# helloworld-go — это сгенерированный маршрут Knative для образца "helloworld-go".
# Вам нужно заменить его на свой собственный маршрут в вашем проекте.
export DOMAIN_NAME=`kubectl get route helloworld-go --output jsonpath="{.status.url}" | cut -d'/' -f 3`

# Добавьте запись IP-адреса шлюза и доменного имени в файл "/etc/hosts"
echo -e "$GATEWAY_IP\t$DOMAIN_NAME" | sudo tee -a /etc/hosts

Теперь вы можете получить доступ к вашему доменному имени через браузер на вашем компьютере и выполнить некоторые быстрые проверки.

Публикация вашего домена

Следуйте этим шагам, чтобы сделать ваш домен общедоступным:

Установите статический IP для шлюза Knative

Вы можете установить статический IP для вашего шлюза Knative, чтобы IP-адрес шлюза не изменялся каждый раз при перезапуске кластера.

Обновите записи DNS

Чтобы опубликовать ваш домен, вам нужно обновить вашего поставщика DNS, чтобы он указывал на IP-адрес вашего шлюза.- Создайте запись с диким символом для пространства имен и пользовательского домена, указывающую на IP-адрес шлюза, что позволит использовать имена хостов для нескольких сервисов в одном пространстве имен без необходимости создания дополнительных записей DNS. ```dns *.default.mydomain.com 59 IN A 35.237.28.44


```dns
helloworld-go.default.mydomain.com        59     IN     A   35.237.28.44

Если вы используете Google Cloud DNS, вы можете найти пошаговые инструкции в разделе быстрого старта Cloud DNS.

После того как обновление домена распространилось, вы сможете получить доступ к вашему приложению, используя полностью квалифицированное доменное имя развернутого маршрута, например http://helloworld-go.default.mydomain.com

Опубликовать ( 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