2017-02-06 5 views
1

Ich betreibe einen 5 Knoten Kubernetes-Cluster. Ich versuche einen (auf Nginx basierenden) Container auszuführen.Kubernetes running nginx startet nicht

Die dockerfile ist einfach:

FROM nginx 
COPY src/ /usr/share/nginx/html 

die html ist im src Ordner. Wenn ich versuche, es mit Docker zu starten, ist alles in Ordnung. Ich versuche es jetzt in Kubernetes mit diesem yaml auszuführen:

--- 
apiVersion: v1 
kind: Namespace 
metadata: 
    name: three-tier 
--- 
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: front-end 
    namespace: three-tier 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     name: front-end 
    spec: 
     containers: 
     - name: front-end 
     image: xanvier/angularfrontend #TBD 
     resources: 
      requests: 
      cpu: 100m 
      memory: 100Mi 
     ports: 
     - containerPort: 8079 
     securityContext: 
      runAsNonRoot: true 
      runAsUser: 10001 
      capabilities: 
      drop: 
       - all 
      readOnlyRootFilesystem: true 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    name: front-end 
    labels: 
    name: front-end 
    namespace: three-tier 
spec: 
    type: NodePort 
    ports: 
    - port: 80 
    targetPort: 8079 #nodePort: 30001 
    selector: 
    name: front-end 
--- 

Im ui ich diese Fehlermeldung: Docker emerg messages Und in den Protokollen von Docker dieser entsteht:

Kubernetes dashboard error

Ich dachte, ich hätte etwas sehr Einfaches getan, also sehe ich es wahrscheinlich direkt an, kann aber das Problem nicht sehen.

Ich versuchte auch, den Ordner /var/cache/nginx 777 Rechte zu geben. Hinzufügen von RUN chmod 777 /var/cache/nginx -R zum Dockerfile. Außerdem habe ich versucht, das Caching zu deaktivieren, um eine neue Konfigurationsdatei hinzuzufügen, die das Caching vollständig deaktiviert. Beides hat das Problem nicht gelöst.

Antwort

0

Gut, das ist umständlich ...

securityContext: 
     runAsNonRoot: true 
     runAsUser: 10001 
     capabilities: 
     drop: 
      - all 
     readOnlyRootFilesystem: true 

diese Zeilen entfernt und arbeitete wie ein Charme