![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2m87l/btq9B0DPqg3/QNpspMFZwz0NSPfGiTKWf0/img.png)
GitLan container registry 가 아닌 Docker에서는 denied: access forbidden 가 뜨면 다음과 같은 명령어로 해결할 수 있다. docker login 하지만 GitLab에서 docker push나 docker pull을 할 때에는 CI인증을 해야한다 [setting] - [repository] - [deploy tokens] 이 form을 작성하면 다음과 같이 Active Deploy Token이 만들어진다 이 때 username과 password가 주어진다 그럼 다시 경로를 이동한다 [settings] - [ci/cd] - [variables] username과 password 를 각각 key와 value로 만들어 준다 꿀팁: Protected를 하지 않아야 다른..
$ docker container ls -a Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied 에러 해결방법: usermod -aG docker gitlab-runner sudo service docker restart 이 명령어는 사용자를 docker group 에 포함시킨다.
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dckGYe/btq9aL81WgC/QCiijm3ucl5RGcOJ30vhRk/img.png)
Container Registry 생성 Repo의 [Setting]에서 [Packages & Registries] 에 들어가서 [Container Registry] 선택한다 container가 없다면 다음과 같은 화면이 나온다 첫번째 명령어부터 CLI에 입력한다 컨테이너 레지스트리 로그인 docker login registry.gitlab.com username 과 password 는 gitlab것을 입력한다 컨테이너 빌드 docker build -t registry.gitlab.com/ . Dockerfile없이 이 명령어만 입력하면 다음과 같은 에러가 나온다 unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat..
미리 준비해야 될 것 1. runner가 설치 및 등록되어 있어야 함 -> [이전 포스트] 참고 2. .gitlab-ci.yaml 파일이 만들어져 있어야 함 .gitlab-ci.yaml 파일 https://docs.gitlab.com/ee/ci/variables/ variable -환경변수 같은 존재 -job과 pipeline의 동작 관리 -다시 사용하고 싶은 값 저장 -하드코딩 피할 때 사용 job: 스크립트의 그룹 pipeline: job이 pipeline의 단위로써 실행\ stage: 다양한 독립적인 job들의 그룹 하고자하는 동작 순서대로 작성 .gitlab-ci.yaml 파일 생성하기 stages: - build - test build: stage: build script: - docker lo..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/3bLtM/btq84tHKXYQ/VnXTVc7j9TuFCwHrykFkHk/img.png)
Binary 파일을 이용하여 GitLab Runner 설치 # Linux x86-64 sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64" sudo chmod +x /usr/local/bin/gitlab-runner sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitl..
GitLab 인프라 관리 GitLab을 사용하여 DevOps 워크플로우를 구성하는 방법은 크게 두가지다 첫번째는 Kubernetes Agent이고, 두번째는 Cluster certificates를 사용하여 클러스터를 추가하는 방법이다 이 외에도 Group-level clusters, Instance-level clesters 등이 있긴하지만 여기서는 이미 존재하는 클러스터 하나를 GitLab과 연동하는 포스팅을 할 것이다. 또한 Add a cluster using cluster cetificates방법은 현재 deprecated될 것이기 때문에 Kubernetes Agent를 사용하여 연동해볼 것이다 1 Kubernetes Agent Server(KAS) 셋업 KAS 설치 # Edit /etc/gitla..
Istio 란 무엇일까 Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼 로깅 플랫폼, 텔레메트리 또는 정책 시스템으로 통합하도록 지원하는 API포함 온프레미스, 쿠버네티스 컨테이너, 가상 머신 등 다양한 환경에서 구동됨 Istio 구성하기 curl -L https://istio.io/downloadIstio | sh - cd istio-1.10.2 export PATH=$PWD/bin:$PATH Istio namespace생성하기 apiVersion: v1 kind: Namespace metadata: name: istio-system labels: istio-injection: disabled 다음과 같이 istio-namespace.yaml파일을 생성..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/H89Ke/btq8U2i1ae7/CO6eoRVe6fSViEHWN2EKx0/img.png)
새로운 빈 프로젝트 생성 Kubernetes 클러스터와 연결 메뉴바 -> [Infrastructure] -> [Kubernetes clusters] -> [Connect existing cluster] Kuberbetes cluster name kubectl get nodes -o wide cmd에 다음과 같은 명령어를 입력하여 cluster의 이름을 얻는다 Environment scope Gitlab Docs Group-level Kubernetes clusters | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner. docs.gitlab.com Pro..