Jenins에서 docker image를 build하던 중 아래 에러를 발견했다.ERROR: "docker buildx build" requires exactly 1 argument. 해결 방법으로는 Jenkins Scripte 내용 중에 docker build하는 부분의 문법오류를 찾았다. docker.build("test:latest", "-f test/Dockerfile--build-arg VERSION=0.0.1 .") (X)docker.build("test:latest", "-f test/Dockerfile --build-arg VERSION=0.0.1 .") (O) 보면 --build 앞에 띄어쓰기가 없었기에 난 에러였다.대부분은 문법오류이기에 해당 부분을 잘 확인해야한다.
쿠버네티스의 서비스 타입을 알아보기 전에, 쿠버네티스의 서비스가 무엇을 의미하는지부터 알아보겠습니다. 쿠버네티스에서의 서비스는 pod들을 통해 실행되고 있는 어플리케이션을 네트워크에 노출시키는 방법이라고 볼 수 있습니다. 예를 들어, pod가 다른 pod를 찾을 때, IP나 호스트 이름같은 경우는 pod의 일회성 특징 때문에 언제든지 사라질 수 있습니다. 그렇기에 변하지 않는 진입점인 서비스라는 것을 통하여 해결을 하게 되는겁니다. 이러한 서비스는 크게 3가지로 분류됩니다. (External Name은 제외하겠습니다) 1. Cluster IP 2. Node Port 3. Load Balancer 1. Cluster IP - pod들이 클러스터 내부의 다른 리소스들과 통신할 수 있도록 해주는 가상의 IP이..
쿠버네티스를 많이 들어왔지만 쓸 기회가 올까? 싶었지만 그 기회가 왔습니다. 그렇기에 쿠버네티스의 정확한 개념을 잡고자 내용을 정리하고 있습니다. 쿠버네티스 = 오케스트레이션 하는 도구이다. 여기서 오케스트레이션이 과연 뭘까? 쿠버네티스가 도대체 뭘까? 위의 내용을 알기 전에 알아야 할 개념들이 있습니다. 컨테이너 = 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 기술 (ex-흔히 아는 도커 컨테이너) 컨테이너 런 타임 = 위의 컨테이너라는 기술을 다루는 도구 도커 = 컨테이너 런타임 중에 가장 유명한 것 오케스트레이션 = 여러 컨테이너를 관리하고 사용하는 환경 설정을 관리하는 동작 쿠버네티스 = 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구 위의 5가지 순서대로 천천히 읽으시면 쿠버..
CentOS7 기준으로 docker-compose 를 최신버전으로 설치해보겠습니다 해당링크로 들어가 releases중 최신 버전을 확인합니다.https://github.com/docker/compose GitHub - docker/compose: Define and run multi-container applications with DockerDefine and run multi-container applications with Docker - GitHub - docker/compose: Define and run multi-container applications with Dockergithub.com 버전 중 Latest에 해당하는 버전의 아래 부분에서 필요한 파일의 링크주소를 복사합니다. (마우..
제목 그대로 새로운 사용자를 추가할 때 사용하는 useradd를 알아보겠습니다. useradd ex -) useradd newuser하지만 이렇게는 디렉토리가 만들어지지 않습니다.그렇기에 다음과 같은 명령어를 사용합니다. useradd -m ex -) useradd -m newuser 이제 그룹을 지정하는 경우는 g옵션을 사용합니다useradd -g -m ex -> useradd -g newgroup -m newuser 패스워드를 설정하는 방법은 2가지가 있습니다.passwd newuseruseradd -p -m newuser 위의 방식 중 편한 방법을 선택하면 됩니다. 앞으로도 useradd를 사용할 때마다 작성하도록 하겠습니다.
Linux에서 usermod가 생각보다 많이 쓰이기에 이를 정리해서 작성하고자 합니다. 사용자들의 목록을 확인하고싶으시면 /etc/passwd 파일을 확인하시면 됩니다. id -> 기존 계정의 그룹, 디렉토리 등을 확인합니다. usermod -l ex -) usermod -l new_id old_id 하지만 이때 디렉토리도 같이 변경해줘야 하기에 다음과 같은 명령어를 사용합니다.usermod -l -d -m es -) usermod -l new_id -d /home/new_id -m old_id 다음은 사용자의 그룹을 변경하는 명령어입니다.usermod -g ex -> usermod -g new_group old_id 계속해서 추가적으로 usermod를 사용할 때에 작성하겠습니다.
이번에는 Centos의 hostname을 변경해보겠습니다.timezone 변경과 거의 유사합니다. hostname을 입력하면 현재의 hostname이 출력돕니ㅣ다. 변경방법은hostnamectl set-hostname abc를 입력하면 hostname이 abc로 변경됩니다.다만 변경되기까지 시간이 어느 정도 소요되기 때문에 다른 계정으로 접속하셨다가 다시 확인하시면빠르게 확인하실 수 있습니다.
Centos7에서 로그들을 출력해보니 시간대 Seoul 아닌 US로 잡히기에 이 부분을 수정하고 작성합니다. 먼저 Centos7에서date 를 입력하시면 Wed Jun 22 13:49:23 KST 2022 처럼 현재 OS의 표준 시간대를 알 수 있습니다. 먼저 변경 가능한 시간대를 찾고자 하면timedatectl list-timezones 명령어로 리스트를 쭉 뽑을 수 있지만 엄청나게 많은 양이 나오게 됩니다. 그렇기에 grep 명령어와 함께 써주면 편하게 찾을 수 있습니다timedatectl list-timezones | grep SeoulAsia/Seoul 이 출력되면 이 시간대를 사용할 수 있습니다. 그 후 timedatectl set-time Asia/seoul을 입력하고 다시 date로 날짜를..
GItlab에 push를 했건만 아래와 같은 오류가 발생해서 이를 해결하고자 작성합니다.error: RPC failed; result=22, HTTP code = 413fatal: The remote end hung up unexpectedly 구글링을 해보면 원인은 크키가 1MB보다 큰 파일이 있을 경우에 발생되는 에러라고 합니다. 1. git config --global http.postBuffer 52428800-> 파일의 크기를 50MB로 할 수 있습니다.-> 실패 2. git config --global http.postBuffer 524288000-> 실패 3. git config --global http.postBuffer 1048576000-> 실패 4. local git folder인 /..
가끔 실수로 commit을 한다거나 git push에서 오류가 났을 경우 git commit을 취소해야 하는데 생각보다 명령어를 자주 써서 작성하고자 합니다. 간단하게 정리하면 다음과 같습니다. git reset -soft : index 보존(add한 상태, staged 상태), 워킹 디렉토리의 파일 보존, 즉 모두 보존되어 있음 git reset -mixed : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉토리의 파일 보존, 즉 수정한 부분은 보존 git reset -hard : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉토리의 파일 삭제, 즉 수정한 부분또한 삭제 다음은 예제입니다. git log : commit 목록을 확인한다. git log ..