--- tags: DevOps title: kube config with gitlab --- ## pull private container registry from gitlab 1. to your repo > setting > repository 2. expand `Deploy Token` and set tokennam, username and scope 3. click `create deploy token` 4. then run: ```shell kubectl create secret docker-registry <secrect_name> --docker-server=registry.gitlab.com --docker-username=<username> --docker-password=<gitlab_token> -n <namespace> ``` 3. in deployment or image spec: * add `imagePullSecrets` ```yaml spec: containers: - name: <arbitrary name> image: registry.gitlab.com/<username>/<container-registry-path>:<tag> imagePullPolicy: Always securityContext: privileged: false imagePullSecrets: - name: <secrect_name> restartPolicy: Always dnsPolicy: ClusterFirst nodeSelector: #this can be use to specify node kubernetes.io/hostname: <node-name> schedulerName: default-scheduler ``` ## pull private image from github registry (ghcr.io) 1. apply a personal access token 4. then run: ```shell kubectl create secret docker-registry <secrect_name> --docker-server=ghcr.io --docker-username=<github-username> --docker-password=<personal-access-token> -n <namespace> ``` 3. in deployment or image spec: * add `imagePullSecrets` ```yaml spec: containers: - name: <arbitrary name> image: ghcr.io/<username>/<container-registry-path>:<tag> imagePullPolicy: Always securityContext: privileged: false imagePullSecrets: - name: <secrect_name> restartPolicy: Always dnsPolicy: ClusterFirst nodeSelector: #this can be use to specify node kubernetes.io/hostname: <node-name> schedulerName: default-scheduler