https://dongki1882.tistory.com/62
NCP를 활용하여 서버를 만들고 nginx-proxy-manager를 통하여 내 서비스를 배포하고 젠킨스를 통해 자동화까지 해보았다.
포트포워딩을 해보고 공인 IP를 할당 받고 서버 접속용 공인 IP를 통해 내 로컬 PC에서 SSH에 접속 한 후 도커를 설치하여 이미지를 만들고 빌드하고 내 서비스를 내 도메인에 연결해보면서 도커에 대한 이해도가 상승한 것이 느껴졌다.
실습을 하면서 NCP에 대한 문제는 하나도 없었고 내 오타나 잘못된 설정, 또는 잘못된 포트포워딩으로 인한 문제만 발생하였다.
에러가 발생할 경우 구글링을 통해 직접 찾아보거나 구글링에도 없을 경우 chatgpt를 활용하니 금방 해결 할 수 있었다.
서버 그룹에 대한 네트워크 접근을 제어, 관리할 수 있는 서비스인 ACG 설정도 해보았다.
내가 개별적으로 방화벽을 구축할 필요 없이 ACG에서 서버에 방화벽 규칙을 설정하면 보안 정책을 쉽게 적용할 수 있었다.
전에 만들어 둔 보안 규칙을 다른 서버에도 똑같이 적용을 할 수 있어서 정말 편리했다!
규칙 설정 또한 쉽고 간편하였다.
NCP에서는 위와 같이 ACG 설정으로 포트를 설정할 때 ACG 이름을 적어넣으면 방화벽이 적용되어 있는 서버에도 다 적용이 된다! 지금은 서버가 3개 뿐이지만 나중에 100개가 되고 엄청 많아진다면 하나하나 다 설정하는 것이 아니라 한번에 다 할 수 있다는 장점이 있다!
마지막으로 NCP로 쿠버네티스를 통한 내 서비스의 무중단 배포 실습을 해보았다.
서버 3개를 띄웠고 하나의 서버에 칼리코를 설치하고 쿠버네티스 관리자로 설정하고 3개의 서버를 연결해보았다.
쿠버네티스 명령어에 친숙해지는 기회가 되어 너무 좋았다.
디플로이먼트, 리플리카셋, pod 에 대한 이해, 쿠버네티스가 무중단 배포가 가능한 이유 등 에 대해 학습할 수 있었다.
똑같은 기능을 가진 서버를 두 개 돌릴 때 생기는 문제가 있었는데 바로 파일 업로드에서 문제가 발생한다. 이미지를 2번 서버에 저장하고 페이지 요청을 3번 서버가 받아 서버에 연결되면 이미지가 보이지 않을 수도 있다. 이런 문제를 해결하기 위해 별도의 저장공간에 저장하는 공유 폴더를 사용해야 하는데 NCP에 NAS라는 것이 있었다.
여기서 볼륨을 생성하여 각 서버에 가상의 폴더를 만들고 NAS에 연결을 시켜주는 마운트를 해주면 된다.
쿠버네티스는 설정하는 과정이 끝도 없고 너무 어려워서 시간이 오래 걸렸지만 오랜 시간이 걸린 만큼 좋은 경험을 했다.
결론: 네이버 클라우드 플랫폼은 실습하기에 좋은 환경이다!!
'▸MAC > Linux' 카테고리의 다른 글
[Git Webhook 에러] 301 Moved Permanently (0) | 2023.05.11 |
---|---|
[네이버 클라우드 플랫폼에서 배포하기] 5. 젠킨스(Jenkins)를 통해 CI / CD 배포 환경 구축 (1) | 2023.05.10 |
[네이버 클라우드 플랫폼에서 배포하기] 4. 도메인 구매 후 내 도메인으로 배포하기 (nginx proxy manager, 가비아, DNSZi) (0) | 2023.05.10 |
[네이버 클라우드 플랫폼에서 배포하기] 3. CentOS에서 빌드 후 배포(Docker, DB, Git, Java) (0) | 2023.05.10 |
[네이버 클라우드 플랫폼에서 배포하기] 2. SSH 접속 (0) | 2023.05.10 |