I'm using these configs: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/registry
registry.yml:
apiVersion: v1
kind: ReplicationController
metadata:
name: kube-registry-v0
namespace: default
labels:
k8s-app: kube-registry
version: v0
kubernetes.io/cluster-service: "true"
spec:
replicas: 1
selector:
k8s-app: kube-registry
version: v0
template:
metadata:
labels:
k8s-app: kube-registry
version: v0
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: registry
image: registry:2
resources:
limits:
cpu: 100m
memory: 100Mi
env:
- name: REGISTRY_HTTP_ADDR
value: :5050
- name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
value: /var/lib/registry
volumeMounts:
- name: image-store
mountPath: /var/lib/registry
ports:
- containerPort: 5050
name: registry
protocol: TCP
volumes:
- name: image-store
emptyDir: {}
registry-service.yml:
apiVersion: v1
kind: Service
metadata:
name: kube-registry
namespace: default
labels:
k8s-app: kube-registry
kubernetes.io/cluster-service: "true"
kubernetes.io/name: "KubeRegistry"
spec:
selector:
k8s-app: kube-registry
ports:
- name: registry
port: 5050
protocol: TCP
registry-expose.yml:
apiVersion: v1
kind: Pod
metadata:
name: kube-registry-proxy
namespace: default
spec:
containers:
- name: kube-registry-proxy
image: gcr.io/google_containers/kube-registry-proxy:0.3
resources:
limits:
cpu: 100m
memory: 50Mi
env:
- name: REGISTRY_HOST
value: kube-registry.kube-system.svc.cluster.local
- name: REGISTRY_PORT
value: "5050"
- name: FORWARD_PORT
value: "5050"
ports:
- name: registry
containerPort: 5050
hostPort: 5050
Status:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-registry-proxy 1/1 Running 0 33m
kube-registry-v0-m57gk 1/1 Running 1 33m
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-registry 10.98.134.140 <none> 5050/TCP 34m
kubernetes 10.96.0.1 <none> 443/TCP 2h
$ kubectl get componentstatuses
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health": "true"}
Can't see what's happening:
$ kubectl exec -it kube-registry-v0-m57gk -- bash
rpc error: code = 2 desc = containerd: container not started
There is no 5050 port opened on the host, but I'm unsure if it's the desired outcome or not. From inside the kube-registry-proxy
some other containers can be pinged, but there are not enough tools installed to see clearly.
How to make the local registry work?
can you please docker version
on that node. this was major issue with docker 1.11.2
, and got fixed in 1.12.x
Run kubectl describe pod kube-registry-v0-m57gk
and check pod status? It seems like container in kube-registry-v0-m57gk does't start correctly.
Only with the registry container that happened that or with other cointaners as well?
If it happened to others it is because you are without a network plugin, for this you can use that of weave for example.
Kubectl apply -f https://git.io/weave-kube