Size: a a a

2019 July 22

A

Andrey Afoninskiy in Istio_ru
а SDS и certmanager получилось у кого связать?
источник

AK

Anton Konovalov in Istio_ru
да
источник

AK

Anton Konovalov in Istio_ru
credentialName string 
The credentialName stands for a unique identifier that can be used to identify the serverCertificate and the privateKey. The credentialName appended with suffix “-cacert” is used to identify the CaCertificates associated with this server. Gateway workloads capable of fetching credentials from a remote credential store such as Kubernetes secrets, will be configured to retrieve the serverCertificate and the privateKey using credentialName, instead of using the file system paths specified above. If using mutual TLS, gateway workload instances will retrieve the CaCertificates using credentialName-cacert. The semantics of the name are platform dependent. In Kubernetes, the default Istio supplied credential server expects the credentialName to match the name of the Kubernetes secret that holds the server certificate, the private key, and the CA certificate (if using mutual TLS). Set the ISTIO_META_USER_SDS metadata variable in the gateway’s proxy to enable the dynamic credential fetching feature.
источник

AK

Anton Konovalov in Istio_ru
там могут быть путаницы с namepsaces и по моему это фичу также нужно еще включить в самом istio
источник

A

Andrey Afoninskiy in Istio_ru
credentialName - туда класть это название секрета с сертификатами, или название certificate crd?
источник

A

Andrey Afoninskiy in Istio_ru
credentialName: "httpbin-credential" # must be the same as secret
источник

AK

Anton Konovalov in Istio_ru
1 - нужно поставить istio c включеным sds

https://archive.istio.io/v1.1/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template

например

$ helm template install/kubernetes/helm/istio --name istio --namespace istio-system \
   --values install/kubernetes/helm/istio/values-istio-sds-auth.yaml | kubectl apply -f -

но вам нужно смотреть для вашей версии как это сделать

2 - в серт менеджере вам нужно указать название секрета в который он будет складывать ключи и серт выписаные им
3 - в гейтевее указать название этого секрета
источник

AK

Anton Konovalov in Istio_ru
cert for acme

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
 name: yyy-xxx-cert
 namespace: istio-system
spec:
 secretName: yyy-xxx-cert
 issuerRef:
   kind: ClusterIssuer
   name: letsencrypt-prod
 commonName: "*.yyy.xxx"
 dnsNames:
   - "*.yyy.xxx"
 acme:
   config:
            <your config>


gateway

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
 name: yyy-xxx-gatewa
y
 namespace: istio-system
spec:
 selector:
   istio: ingressgateway
 servers:
   - port:
       number: 80
       name: http2
       protocol: HTTP2
     hosts:
       - "*.yyy.xxx"
   
tls:
      httpsRedirect: true

   - port:
       number: 443
       na
me: https-443
       pr
otocol: HTTPS
     hosts:
       - "servicenamespa
ce/*.yyy.xxx"
    tls:
      mode: SIMPLE # enables HTTPS on this port
             
  credentialName: yyy-xxx-cert
источник

A

Andrey Afoninskiy in Istio_ru
это я все делал, только 443 порт не открылся и я хз куда дебажить
источник

A

Andrey Afoninskiy in Istio_ru
логи ingress не особо помогают
источник

A

Andrey Afoninskiy in Istio_ru
в общем понятно, он опять свой istio-system любит … неважно что все ресурсы в других неймспейсах, секрет должен лежать именно там
источник

AK

Anton Konovalov in Istio_ru
в k8s доступ к секрету только из самого неймспейса
нельзя читать из namespaceA секрет находящийся namespaceB
источник

AK

Anton Konovalov in Istio_ru
можно и gateway в другом запустить
источник

AK

Anton Konovalov in Istio_ru
Andrey Afoninskiy
это я все делал, только 443 порт не открылся и я хз куда дебажить
источник

AK

Anton Konovalov in Istio_ru
тут вопрос в том где у вас k8s
источник

AK

Anton Konovalov in Istio_ru
в облаке или просто запустили у себя где-то или локально?
источник

A

Andrey Afoninskiy in Istio_ru
про доступ к секрету - точно, спасибо что напомнили
443 порт не открывался потому что istio-ingress искал секрет не в том неймспейсе куда я его клал
в целом все заработало, спасибо
источник

HK

Huan Karlos in Istio_ru
привет всем. подскажите плз, установил истио (helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -)
сделал kubectl label namespace istio-test istio-injection=enabled
добавил gateway и virtualservice по примеру bookinfo
но не могу попасть на сервис, отдает 404 ошибку, в istio-ingressgateway нет вообще ни одной записи.
куда копать?
источник
2019 July 23

A

Andrey Afoninskiy in Istio_ru
> отдает 404 ошибку
проблем может быть много, навскидку:
- покажите манифесты может там мистайпы какие
- убедитесь что у service на который они направлены есть endpoints
- попробуйте сделать curl с другого пода и сравнить ответы
> istio-ingressgateway нет вообще ни одной записи
попробуйте выставить другой уровень логов еще: https://github.com/istio/istio/blob/1.2.2/install/kubernetes/helm/istio/values.yaml#L171
источник

ZO

Zon Orti in Istio_ru
Huan Karlos
привет всем. подскажите плз, установил истио (helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -)
сделал kubectl label namespace istio-test istio-injection=enabled
добавил gateway и virtualservice по примеру bookinfo
но не могу попасть на сервис, отдает 404 ошибку, в istio-ingressgateway нет вообще ни одной записи.
куда копать?
а как проверяется, что записей нет? через istioctl?
источник