VMware/k8s
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
	
General Kubernetes Documentation
Setup Artifactory Proxy to GCR
https://jfrog.com/knowledge-base/artifactory-how-to-proxy-a-google-container-registry-gcr/#:~:text=ARTIFACTORY%3A%20How%20to%20proxy%20a%20Google%20Container%20Registry%20(GCR)%3F,-Elina%20Floim&text=Google%20offers%20the%20https%3A%2F%2F,according%20to%20the%20needed%20endpoint.&text=Click%20on%20%E2%80%9CADD%20KEY%E2%80%9D%2C,file%20in%20an%20accessible%20location.
Setup GCR.IO Registry
1. Enable Google Container Registry
2. Setup Service Account via IAM Console. https://console.cloud.google.com/iam-admin/serviceaccounts 
3. Create a Key for the Service Account (JSON) and download the JSON file. 
4. Transfer the JSON file to the JUMPBOX. 
5. Log into GCR via docker.
docker login -u _json_key --password-stdin https://gcr.io < keyfile.json
6. Push image to GCR.IO
docker pull gcr.io/kuar-demo/kuard-amd64:blue docker tag gcr.io/kuar-demo/kuard-amd64:blue gcr.io/<GCR PROJECT>/kuard:latest docker push gcr.io/<GCR PROJECT>/kuard:latest
7. Create docker Registry Secret
kubectl create secret docker-registry gcr-json-key \ --docker-server=gcr.io \ --docker-username=_json_key \ --docker-password="$(cat ~/keyfile.json)" \ --docker-email=<valid-email>
8. Set Default K8s Service Account to use the registry secret
kubectl patch serviceaccount default \
-p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
9. Create the KUARD deployment YAML
cat <<EOF > kuard-deployment-gcr.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kuard-deployment
  labels:
    app: kuard
spec:
  replicas: 3
  selector:
    matchLabels:
      app: kuard
  template:
    metadata:
      labels:
        app: kuard
    spec:
      imagePullSecrets:
        - name: regcred
      containers:
        - image: gcr.io/<GCR PROJECT>/kuard:latest
          name: kuard
          ports:
            - containerPort: 8080
              name: http
---
apiVersion: v1
kind: Service
metadata:
  name: kuard-service
spec:
  type: LoadBalancer
  selector:
    app: kuard
  ports:
  - port: 80
    targetPort: 8080
EOF
10. Deploy the KUARD Deployment.
kubectl apply -f kuard-deployment-gcr.yaml
11. Check that the containers are up and running.
kubectl get pods
12. Get the External Service IP that will be hosting KUARD.
kubectl get service kuard-service
13. Test that you can access the KUARD URL from a Web Browser
http://<EXTERNAL-IP>