Информация об изменениях

Сообщение Re[3]: Что сложно дается ChatGPT? от 22.01.2023 16:32

Изменено 22.01.2023 16:35 vsb

Re[3]: Что сложно дается ChatGPT?
Здравствуйте, Shmj, Вы писали:

S>Для установки cert-manager и nginx-ingress на DigitalOcean Kubernetes следующие шаги могут быть полезны:


S>Установите cert-manager с использованием Helm chart.


S>
S>helm repo add jetstack https://charts.jetstack.io
S>helm repo update
S>kubectl create namespace cert-manager
S>helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v0.16.1
S>


Ну первая серьёзная проблема — версия от середины 2020 года. 2.5 года прошло с тех пор. То бишь надо уже подключить голову и проверить свежую версию. И было бы неплохо, если бы Чат подсказал — какой командой, а не писал давно устаревшую версию.

S>Создайте сертификат Let's Encrypt с использованием cert-manager. Ниже пример конфигурации для использования сертификата Let's Encrypt для домена example.com.


S>
S>apiVersion: cert-manager.io/v1alpha2
S>kind: ClusterIssuer
S>metadata:
S>  name: letsencrypt-prod
S>spec:
S>  acme:
S>    server: https://acme-v02.api.letsencrypt.org/directory
S>    email: admin@example.com
S>    privateKeySecretRef:
S>      name: letsencrypt-prod
S>    solvers:
S>    - http01:
S>        ingress:
S>          class: nginx
S>


apiVersion устаревший. Возможно для той версии он был правильный, сейчас надо использовать apiVersion: cert-manager.io/v1.

`class: nginx` — писать совсем не факт, что правильно. В каждом кластере свои ингрессы. Лучше вообще не писать. Есть понятие ингресса по умолчанию, он должен сработать. А ещё лучше написать несколько абзацев про то, что такое ingress class, как можно узнать, какие ingress class установлены в твоём кластере и тд.

S>Настройте ingress-контроллер nginx-ingress для использования сертификата Let's Encrypt и направления трафика на нужный сервис на основе порта 443. Ниже пример конфигурации для направления трафика с домена example.com на сервис test1-service.


S>
S>apiVersion: networking.k8s.io/v1
S>kind: Ingress
S>metadata:
S>  name: test1-ingress
S>  annotations:
S>    kubernetes.io/ingress.class: nginx
S>    cert-manager.io/cluster-issuer: letsencrypt-prod
S>    nginx.ingress.kubernetes.io/rewrite-target: /
S>spec:
S>  tls:
S>  - hosts:
S>    - example.com
S>    secretName: example-com-tls
S>  rules:
S>  - host
S>

S>[/q]

nginx.ingress.kubernetes.io/rewrite-target: / какая-то левая лажа. Не нужно.

Ингресс-класс сейчас тоже не через аннотацию прописывается, если вообще его надо прописывать. Те же рассуждения, что выше.

rules у тебя оборвалось. Там дальше ещё несколько строк идут.

В общем может оно и заработает, но может и не заработать. Придраться есть к чему.
Re[3]: Что сложно дается ChatGPT?
Здравствуйте, Shmj, Вы писали:

S>Для установки cert-manager и nginx-ingress на DigitalOcean Kubernetes следующие шаги могут быть полезны:


S>Установите cert-manager с использованием Helm chart.


S>
S>helm repo add jetstack https://charts.jetstack.io
S>helm repo update
S>kubectl create namespace cert-manager
S>helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v0.16.1
S>


Ну первая серьёзная проблема — версия от середины 2020 года. 2.5 года прошло с тех пор. То бишь надо уже подключить голову и проверить свежую версию. И было бы неплохо, если бы Чат подсказал — какой командой, а не писал давно устаревшую версию.

S>Создайте сертификат Let's Encrypt с использованием cert-manager. Ниже пример конфигурации для использования сертификата Let's Encrypt для домена example.com.


S>
S>apiVersion: cert-manager.io/v1alpha2
S>kind: ClusterIssuer
S>metadata:
S>  name: letsencrypt-prod
S>spec:
S>  acme:
S>    server: https://acme-v02.api.letsencrypt.org/directory
S>    email: admin@example.com
S>    privateKeySecretRef:
S>      name: letsencrypt-prod
S>    solvers:
S>    - http01:
S>        ingress:
S>          class: nginx
S>


apiVersion устаревший. Возможно для той версии он был правильный, сейчас надо использовать apiVersion: cert-manager.io/v1.

`class: nginx` — писать совсем не факт, что правильно. В каждом кластере свои ингрессы. Лучше вообще не писать. Есть понятие ингресса по умолчанию, он должен сработать. А ещё лучше написать несколько абзацев про то, что такое ingress class, как можно узнать, какие ingress class установлены в твоём кластере и тд.

S>Настройте ingress-контроллер nginx-ingress для использования сертификата Let's Encrypt и направления трафика на нужный сервис на основе порта 443. Ниже пример конфигурации для направления трафика с домена example.com на сервис test1-service.


S>
S>apiVersion: networking.k8s.io/v1
S>kind: Ingress
S>metadata:
S>  name: test1-ingress
S>  annotations:
S>    kubernetes.io/ingress.class: nginx
S>    cert-manager.io/cluster-issuer: letsencrypt-prod
S>    nginx.ingress.kubernetes.io/rewrite-target: /
S>spec:
S>  tls:
S>  - hosts:
S>    - example.com
S>    secretName: example-com-tls
S>  rules:
S>  - host
S>

S>[/q]

nginx.ingress.kubernetes.io/rewrite-target: / какая-то левая лажа. Не нужно.

Ингресс-класс сейчас тоже не через аннотацию прописывается, если вообще его надо прописывать. Те же рассуждения, что выше. Наверное сработает, но надо делать по-другому.

rules у тебя оборвалось. Там дальше ещё несколько строк идут.

В общем может оно и заработает, но может и не заработать. Придраться есть к чему.