Instalé k8s 1.18.6 nuevo en multinodo (12 GB de RAM y 4 CPU) en centos-7.8 (3.10.0-1127.el7.x86_64) con la versión docker (19.03.6) y la versión runc 1.0.0-rc10.
Usé el complemento de red calico (3.11.1) y hasta aquí todo funcionó bien. Cuando intento instalar istio 1.5.7 en él, me encuentro con el siguiente problema
Tema:
kubectl get pods -n istio-system NOMBRE LISTO ESTADO REINICIA EDAD grafana-5f6f8cbf75-lngb7 1/1 En ejecución 0 41s istio-egressgateway-cbd86567c-5x6rk 0/1 ContainerCreating 0 44s istio-ingressgateway-799d5b8875-4ztq8 0/1 ContainerCreating istio-tracing-9dd6c4f7c-vv64n 1/1 En ejecución 0 41s istiod-b7d8f955b-mtqgb 0/1 CrashLoopBackOff 5 10m kiali-869c6894c5-pw7sm 1/1 En ejecución 0 41s prometheus-7d697b95b-2rjvn 0/41 Creación de contenedores 0
istiod-pod-logs: información No se han especificado certificados, omitiendo el certificado DNS información del controlador Controlador CRD viendo espacios de nombres "" información Controlador de entrada viendo espacios de nombres "" advertir Config Store &{0xc00020c6c0 cluster.local 0xc00026b1e0 0xc000795e00 0xc00079eea0 []} no puede rastrear la distribución en información agregada Adición de información del adaptador de registro de Kubernetes Controlador de servicios que observa el espacio de nombres "" para servicios, puntos finales, nodos y pods, actualice la información de 1m0s La política de JWT es información de primera parte-jwt Use el certificado autofirmado como la información del certificado de CA pkica No se pudo obtener el secreto (error: Obtenga https://10.96.0.1:443/api/v1/namespaces/istio-system/secrets/istio-ca-secret : marque tcp 10.96.0.1:443: i/o timeout), creará un Error: no pudo crear el servicio de descubrimiento: enableCA: no se pudo crear una Citadel autofirmada: no se pudo crear la CA debido a un error de escritura secreta error pkica No se pudo escribir el secreto en la CA (error: Publicar https://10.96.0.1:443/api/v1/ espacios de nombres/istio-system/secrets : marcar tcp 10.96.0.1:443: i/o timeo Utah). Abortar. error no se pudo crear el servicio de descubrimiento: enableCA: no se pudo crear una Citadel autofirmada: no se pudo crear la CA debido a un error de escritura secreta
Istio v1.5 ya no es compatible , al igual que v1.6 y v1.7 pronto lo serán .
Tampoco creo que v1.5 haya sido aprobado para K8s v1.18.
Mi sugerencia sería usar Istio v1.8 y deshabilitar Calico antes de intentar instalarlo.
Debido a que las propiedades del token de origen son menos seguras, Istio usará tokens de terceros de manera predeterminada. Sin embargo, esta función no está habilitada en todas las plataformas de Kubernetes.
Si está utilizando istioctl para instalar, la compatibilidad se detectará automáticamente. Esto también se puede hacer manualmente y configurar pasando --set values.global.jwtPolicy=third-party-jwt o --set values.global.jwtPolicy=first-party-jwt.
Para determinar si su clúster admite tokens de terceros, busque la API TokenRequest. Si esto no devuelve una respuesta, entonces la función no es compatible:
kubectl get --raw /api/v1 | jq '.resources[] | select(.name | index("serviceaccounts/token"))' { "name": "serviceaccounts/token", "singularName": "", "namespaced": true, "group": "authentication.k8s.io", "version": "v1", "kind": "TokenRequest", "verbs": [ "create" ] }Hay otro caso de stackoverflow en el que un miembro de la comunidad tuvo el mismo problema con 12 GB de RAM.
Istio 1.5 se probó con las versiones 1.14, 1.15 y 1.16 de Kubernetes.
Como usa la versión Kubernetes 1.18.6, es posible que no funcione con la versión Istio 1.5.
Así que recomendaría ir con este enfoque:
--set values.global.jwtPolicy=first-party-jwt .