0

Ich bin die Bereitstellung von Java-Anwendung bei Google Kubernetes-Engine. Die Anwendung wird ordnungsgemäß gestartet, schlägt jedoch fehl, wenn versucht wird, Daten anzufordern. Ausnahme ist "DatastoreException, fehlende oder unzureichende Berechtigungen". Ich habe ein Dienstkonto mit der Rolle "Besitzer" erstellt und den Dienstkontoschlüssel für kubernetes bereitgestellt. Hier ist, wie ich anwenden Kubernetes Einsatz:Kubernetes-Anwendung löst DatastoreException, fehlende oder unzureichende Berechtigungen aus. Service-Key-Datei zur Verfügung gestellt

# delete old secret 
kubectl delete secret google-key --ignore-not-found 
# file with key 
kubectl create secret generic google-key --from-file=key.json 
kubectl apply -f prod-kubernetes.yml 

Hier Bereitstellung config:

apiVersion: v1 
kind: Service 
metadata: 
    annotations: 
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 
    name: user 
    labels: 
    app: user 
spec: 
    type: NodePort 
    ports: 
    - port: 8000 
    name: user 
    targetPort: 8000 
    nodePort: 32756 
    selector: 
    app: user 
--- 
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: userdeployment 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: user 
    spec: 
     volumes: 
     - name: google-cloud-key 
     secret: 
      secretName: google-key 
     containers: 
     - name: usercontainer 
     image: gcr.io/proj/user:v1 
     imagePullPolicy: Always 
     volumeMounts: 
     - name: google-cloud-key 
      mountPath: /var/secrets/google 
     env: 
     - name: GOOGLE_APPLICATION_CREDENTIALS 
      value: /var/secrets/google/key.json 
     ports: 
     - containerPort: 8000 

Ich frage mich, warum es nicht funktioniert? Ich habe diese Konfiguration in der vorherigen Bereitstellung verwendet und hatte Erfolg. UPD: Ich habe sichergestellt, dass /var/secrets/google/key.json bei Pod vorhanden sind. Ich drucke Files.exists (System.getEnv ("GOOGLE_APPLICATION_CREDENTIALS")), um zu protokollieren. Ich drucke auch Inhalt dieser Datei - es scheint nicht beschädigt.

Antwort

0

Gelöst, Grund war falsch evn name GOOGLE_CLOUD_PROJECT

Verwandte Themen