Estou tentando configurar o Knative no cluster Kubernetes local (sem ter um IP externo).
Kubernetes: v1.28
Knative: v1.13
1 master node and 2 workers
https://knative.dev/docs/install/yaml-install/serving/install-serving-with-yaml/
Na seção Configurar DNS, não escolhi nenhum DNS, pois o Magic DNS requer ip externo. Agora, depois de registrar uma função, não consigo chamá-la via solicitação HTTP.
$ kubectl get kservice fibonacci-single -n knative-serverless
NAME URL LATESTCREATED LATESTREADY READY REASON
fibonacci-single http://fibonacci-single.knative-serverless.svc.cluster.local fibonacci-single-00001 fibonacci-single-00001 True
Também tentei criar um serviço local de cluster privado. https://knative.dev/docs/serving/services/private-services/
curl http://fibonacci-single.knative-serverless.svc.cluster.local
curl: (6) Could not resolve host: fibonacci-single.knative-serverless.svc.cluster.local
Não consigo usar IP externo. Como posso acessar minha função?
Implemente IPv6 e seu próprio nome de domínio com “DNS real”, para usar a frase de Knative.
O Kubernetes oferece suporte a IPv6, e esses documentos do Knative fornecem uma referência para várias opções de entrada do Kubernetes. Certamente existe uma maneira de o endereço do serviço usar o IP moderno.
O domínio padrão, "DNS mágico" via sslip.io, é uma demonstração desnecessária para casos de uso de produção. Aparentemente, ele usa um serviço de nome incorporado de endereço IP? Presumo que isso seja difícil para não fazer certificados com assuntos de endereço IP. E nenhum IPv6 não adianta nada se você não tiver um IP "externo".
Use seu nome de domínio e um curinga, resolvendo o ingresso. .local é reservado para mDNS, não o use aqui.
Naturalmente, se os serviços não forem disponibilizados para a Internet, não torne os nomes resolvíveis ou os IPs roteáveis. No entanto, você ainda pode executar um serviço nomeado adequado. Inventar valores, talvez
*.knative.example.net
no seu DNS privado resolva a entrada em2001:db8:115:5995::285
. E esta rede v6 é filtrada no firewall de acordo com a política de segurança desejada.Tentei configurar a rede usando Magic DNS explicado aqui . Acredito que isso não seja fornecido no guia oficial de instalação.
Agora isso funciona sem nome de domínio e IP externo:
curl http://fibonacci-single.knative-serverless.10.96.30.55.nip.io?x=1000