|
|
borrarActual () {
|
|
|
echo ">>>> Borrando registro actual..."
|
|
|
kubectl delete -f registry-deployment.yaml
|
|
|
kubectl delete -f registry-pv.yaml
|
|
|
echo ">>>> Borrando secrets actuales..."
|
|
|
kubectl delete secret auth-secret
|
|
|
kubectl delete secret certs-secret
|
|
|
kubectl delete secret reg-cred-secret
|
|
|
kubectl delete pod/nginx-pod
|
|
|
}
|
|
|
|
|
|
step1 () {
|
|
|
echo "Step 1: Creating files for authentication\n\n"
|
|
|
echo ">>>> Creando directorios..."
|
|
|
mkdir -p /registry && cd "$_"
|
|
|
rm -rf auth/
|
|
|
rm -rf certs/
|
|
|
echo "Creando certificados..."
|
|
|
mkdir certs
|
|
|
openssl req -x509 -newkey rsa:4096 -days 365 -nodes -sha256 -keyout certs/tls.key -out certs/tls.crt -subj "/CN=docker-registry" -addext "subjectAltName = DNS:docker-registry"
|
|
|
echo "Creando autorizaciones..."
|
|
|
mkdir auth
|
|
|
docker run --rm --entrypoint htpasswd registry:2.7.0 -Bbn creylopez Rey-1176 > auth/htpasswd
|
|
|
}
|
|
|
|
|
|
step2 () {
|
|
|
echo "Step 2: Using secrets to mount the certificates\n\n"
|
|
|
echo "Creando secret certs-secret..."
|
|
|
kubectl create secret tls certs-secret --cert=/registry/certs/tls.crt --key=/registry/certs/tls.key
|
|
|
echo "Creando secret auth-secret..."
|
|
|
kubectl create secret generic auth-secret --from-file=/registry/auth/htpasswd
|
|
|
}
|
|
|
|
|
|
step3() {
|
|
|
echo "Step 3: Creating Persistent Volume and Claim for repository storage\n\n"
|
|
|
kubectl create -f /home/creylopez/k8s-cluster-projects/MiRegistry/registry-pv.yaml
|
|
|
}
|
|
|
|
|
|
step4() {
|
|
|
echo "Step 4: Creating the Registry Pod\n\n"
|
|
|
kubectl create -f /home/creylopez/k8s-cluster-projects/MiRegistry/registry-deployment.yaml
|
|
|
}
|
|
|
|
|
|
step5() {
|
|
|
echo "Step 5: Allowing access to the registry\n\n"
|
|
|
echo "Copio tls.cert a /etc..."
|
|
|
sudo cp certs/tls.crt /etc/docker/certs.d/docker-registry\:32000/ca.crt
|
|
|
}
|
|
|
|
|
|
step6() {
|
|
|
echo "Step 6: Testing our Private Docker Registry"
|
|
|
docker login docker-registry:32000 -u creylopez -p Rey-1176
|
|
|
echo "Creando secret reg-cred-secret..."
|
|
|
kubectl create secret docker-registry reg-cred-secret --docker-server=docker-registry:32000 --docker-username=creylopez --docker-password=Rey-1176
|
|
|
echo "Descargo imagen nginx..."
|
|
|
docker pull nginx
|
|
|
echo "... la etiqueto..."
|
|
|
docker tag nginx:latest docker-registry:32000/minginx:1
|
|
|
echo "... y la subo al registry... "
|
|
|
docker push docker-registry:32000/minginx:1
|
|
|
#kubectl exec docker-registry-pod -it -- sh
|
|
|
}
|
|
|
|
|
|
prueba() {
|
|
|
echo "Creo un pod con la nueva imagen..."
|
|
|
kubectl run nginx-pod --image=docker-registry:32000/minginx:v1 --overrides='{ "apiVersion": "v1", "spec": { "imagePullSecrets": [{"name": "reg-cred-secret"}] } }'
|
|
|
}
|
|
|
|
|
|
|
|
|
borrarActual
|
|
|
#step1
|
|
|
#step2
|
|
|
#step3
|
|
|
#step4
|
|
|
#step5
|
|
|
#step6
|
|
|
#final
|
|
|
|