PKOS 스터디 2주차: 쿠버네티스 네트워크
·
DevOps
지난 1월부터 가시다님이 운영하시는 쿠버네티스 스터디에 참여하게 되었는데, 스터디 2주차의 내용은 쿠버네티스 네트워크에 대해 실습을 통해 알아보는 것이다. 1. AWS VPC CNI CNI(Container Network Interface): 쿠버네티스의 네트워크 환경을 구성해주는 요소이며, 서로 다른 노드의 파드간 통신 등을 지원해준다. 기본 쿠버네티스의 네트워크 플러그인은 제약사항이 많아 서드파티의 플러그인을 별도로 설치해 클러스터를 운영하게 된다. CNI에는 다양한 종류가 있는데, 이번 실습에서는 AWS VPC CNI를 활용해서 실습을 진행했다. AWS VPC CNI의 특징은 여러 가지가 있지만, 기본적으로 파드의 IP 대역과 워커노드의 IP대역이 같아 일반적으로 오버레이 통신(VXLAN, IP-I..
vyos 라우터 사용법 / 인터페이스에 설정된 IP 삭제 방법
·
DevOps
1. 배경 상황AWS 네트워크 서비스 중 Direct Connect 관련 실습을 진행할 때, 온프렘 환경이 vyos 기반의 라우터였는데 설정값이 잘못 들어가서 BGP가 맺어지지 않는 상황이었다. 아래와 같이 Direct Connect의 Connection 상태가 down인 상태였다. 설정값을 보면 AWS측의 VLAN은 263으로 잡혀있는데, 온프렘 라우터에서는 VLAN을 261로 잘못 잡은 상황. 2. 해결 방법del interface 명령어로 eth1.261 인터페이스에 할당된 IP주소를 삭제하고, set interface 명령어로 eth1.263에 해당 IP 주소를 다시 할당했다. 5~10분 가량지나고나면 BGP status가 up으로 변경된 것을 콘솔에서 확인할 수 있다. 온프레미스 라우터에서도 A..
리눅스(Linux) 다중 명령어(;, &&, ||)
·
DevOps
1. 배경 상황 Node.js 프로젝트를 진행하다가 package.json에 npm 명령어를 정의해주고 있었는데, 초기에 빌드 아웃풋 폴더 내의 파일을 삭제한 뒤에 빌드를 실행하도록 명령어를 아래와 같이 지정해주었었다. 하지만 bin에 아무 파일이 없는 상태에서 실행하니 아래와 같은 에러가 발생해서 다중 명령어를 && 에서 ; 로 고쳐주었다(뭔가 init쪽 명령어를 고쳐주는 게 좋을 것 같은데 나중에 더 찾아보기로). 2. 리눅스(Linux) 다중 명령어 차이 리눅스 쉘에서 다중 명령어를 사용하면 하나의 라인에서 여러 명령어를 실행할 수 가 있는데, 다중 명령어를 실행하는 ; , && , || 세 명령어 사이에 차이가 있어 정리해두려 한다. 1. 세미콜론(;) 선행 명령어의 성공, 실패 여부와 관계 없이..
AWS CodeBuild “EEXIST: file already exists” 에러 해결
·
DevOps
1. 배경 상황node.js(Express.js)프로젝트의 EKS 배포를 위한 CodePipeline CI/CD 구성 중 노드 프로젝트를 불러와서 npm install로 패키지를 설치하는 도중 다음과 같은 경고 메시지가 발생했다. 2. 해결 방법여기서 중요한 메시지는 EEXIST: file already exists라는 메시지. package-lock.json 파일 및 node_modules가 기존에 이미 존재하고 있기 때문에 npm install로 새로운 모듈을 받지 못한다는 메시지였다. 로컬이었다면 수작업으로 package-lock.json파일과 node_modules 라는 디렉터리를 삭제해줄 수도 있었겠지만, CodeBuild상에서 삭제하는 과정이 필요했기 때문에 아래와 같이 package.json..