/docs 확인)docker run -d \
--name registry \
--restart=always \
-p 5000:5000 \
-v /opt/registry/data:/var/lib/registry \
registry:2
📌 5000 포트는 registry 기본 포트
📌 외부 포트 충돌 시 -p 5001:5000처럼 조정 가능
docker tag api-gateway localhost:5000/dev/api-gateway
docker push localhost:5000/dev/api-gateway
curl http://localhost:5000/v2/_catalog
curl http://localhost:5000/v2/dev/api-gateway/tags/list
curl -sfL https://get.k3s.io | sh -
설치 후 확인:
kubectl get nodes
permission denied on kubeconfig~/.kube/config로 복사 + 권한 설정mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
unset KUBECONFIG
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway
namespace: tekapicker-dev
spec:
replicas: 1
selector:
matchLabels:
app: api-gateway
template:
metadata:
labels:
app: api-gateway
spec:
containers:
- name: api-gateway
image: 192.168.1.111:5000/dev/api-gateway
ports:
- containerPort: 3000
apiVersion: v1
kind: Service
metadata:
name: api-gateway-service
namespace: tekapicker-dev
spec:
selector:
app: api-gateway
type: NodePort
ports:
- port: 80
targetPort: 3000
nodePort: 31000
ImagePullBackOff)localhost:5000 → 클러스터 노드 입장에서는 localhost가 자기 자신/etc/rancher/k3s/registries.yaml 설정mirrors:
"192.168.1.111:5000":
endpoint:
- "http://192.168.1.111:5000"
설정 후 반드시 재시작:
sudo systemctl restart k3s
kubectl rollout restart deployment/api-gateway -n tekapicker-dev
kubectl get pods -n tekapicker-dev
kubectl get svc -n tekapicker-dev
NAME READY STATUS RESTARTS AGE
api-gateway-xxxxxxx-xxxxx 1/1 Running 0 10s