Pull Image from Private Registry
Sebelum pull image dari docker private registry pada kubernetes, lakukan login terlebih dahulu. Pada contoh ini saya menggunakan registry dari gitlab dan namespace di kubernetes menggunakan 'testing'
docker login registry.testing.com
Buat namespace
kubectl create namespace testing
Lalu buat secret pada kubernetes
kubectl -n testing create secret generic registry-credential --from-file=.dockerconfigjson=~/.docker/config.json --type=kubernetes.io/dockerconfigjson
Cek secret
kubectl get secret registry-credential --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode
atau bisa menggunakan user dan password
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
buat file my-app.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
name: my-app
template:
metadata:
name: my-app
labels:
name: my-app
spec:
containers:
- name: my-app
image: registry.testing.com/coba/my-app
ports:
- containerPort: 8081
imagePullSecrets:
- name: registry-credential
---
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
type: NodePort
selector:
name: my-app
ports:
- port: 8081
targetPort: 8081
nodePort: 30001
deploy file yaml tersebut
kubectl -n testing apply -f my-app.yaml