Der Versuch, eine lokale Registrierung auszuführen. Ich habe die folgende Konfiguration:Minikube kann Service nicht mit yaml bereitstellen
Bereitstellung:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: registry
labels:
app: registry
role: registry
spec:
replicas: 1
selector:
matchLabels:
app: registry
template:
metadata:
labels:
app: registry
spec:
containers:
- name: registry
image: registry:latest
ports:
- containerPort: 5000
volumeMounts:
- mountPath: '/registry'
name: registry-volume
volumes:
- name: registry-volume
hostPath:
path: '/data'
type: Directory
Service:
apiVersion: v1
kind: Service
metadata:
name: registry
namespace: default
labels:
app: registry
spec:
selector:
role: registry
type: NodePort
ports:
- name: registry
nodePort: 31001
port: 5000
protocol: TCP
Alles gut funktioniert, wenn ich deployment/Service erstellen. kubectl
zeigt den Status als Running
für Service und Einsatz:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/registry 1 1 1 1 30m
NAME DESIRED CURRENT READY AGE
rs/registry-6549cbc974 1 1 1 30m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/registry 1 1 1 1 30m
NAME DESIRED CURRENT READY AGE
rs/registry-6549cbc974 1 1 1 30m
NAME READY STATUS RESTARTS AGE
po/registry-6549cbc974-mmqpj 1/1 Running 0 30m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 37m
svc/registry NodePort 10.0.0.6 <none> 5000:31001/TCP 7m
aber wenn ich versuche, mit externen IP für den Dienst zu bekommen: minikube service registry --url
, es mal-out/versagt: Waiting, endpoint for service is not ready yet...
.
Wenn ich den Dienst lösche (die Bereitstellung intakt halte) und die Bereitstellung manuell unter Verwendung von kubectl expose deployment registry --type=NodePort
verfügbar mache, kann ich es zum Laufen bringen.
Minikube-Protokoll kann here gefunden werden.
Wenn Service ich s nicht in der Lage zu den Pods dann ist das Problem mit Etiketten. –
in Ihrer Service-Manifest-Datei sollten die Labels "app: registry" sein –
Danke, das behebt es. –