전체 글 1157

Persistent Volume Claims

Persistent Volume Claims Persistent Volume과 마찬가지로 쿠버네티스 개별 개체 관리자가 Persistent Volume의 집합을 생성하면, 사용자는 스토리지를 사용하기 위해 Persistent Volume Claims 생성 Persistent Volume Claims 생성 시, 쿠버네티스는 Persistent Volume Claims 설정에 따라 Persistent Volume을 바인딩한다. 모든 Persistent Volume Claims은 Persistent Volume에 바인딩된다. 바인딩하는 과정에서 쿠버네티스는 Persistent Volume Claims이 요청한 용량, 접근 모드, 볼륨 모드, 스토리지 클래스 등의 속성에 따라 바인딩할 Persistent Vol..

Volumes

도커 - 볼륨 도커 컨테이너는 본질적으로 일시적 데이터 처리가 필요할 때 요청하여, 처리를 완료한 뒤에는 삭제된다. 컨테이너 내의 데이터도 컨테이너와 함께 삭제되기 때문에, 데이터를 유지하기 위해서는 volume을 설정해주어야 한다. 볼륨을 설정하면 컨테이너에서 처리한 데이터가 볼륨에 저장 => 컨테이너 삭제 후에도 데이터 유지 가능 쿠버네티스 - 볼륨 쿠버네티스 포드도 도커 컨테이너와 마찬가지로 일시적이다. 포드가 생성되면 데이터를 처리한 뒤에 삭제되며, 이때 처리한 데이터도 함께 삭제된다. 포드에 볼륨을 설정하면 포드에서 생성한 데이터는 볼륨에 저장 => 포드가 삭제된 이후에도 데이터 유지 가능 구성 방법 볼륨 구성 방법 중 하나는 호스트의 디렉터리를 사용하도록 구성(hostPath)하는 것이다. 이..

last reboot - 마지막 재부팅 시간 확인

last reboot 시스템 재부팅 로그 확인 사용자의 로그인 시간을 확인하는 last 명령 중 부팅 시간만을 표시하며, 시간을 기준으로 내림차순 정렬로 보여준다. 명령어 last reboot 실행 결과 재부팅 당시의 리눅스 커널 정보, 재부팅 시간, 재부팅 후 가동 시간을 표시한다. 리눅스 커널 정보 : 4.14.219-164.354 재부팅 시각 및 종료 시각 : Sun Aug 15 04:31 - 04:54 가동 시간 : (00:22) 즉, 가장 마지막으로 재부팅된 시각은 8월 15일 4시 31분으로, 13분 동안 동작하다 시스템 종료되었다. 제일 마지막으로 재부팅했을 때만 표시하고 싶다면 아래 명령어를 이용하면 된다. last reboot | head -n l

Linux 2021.08.21

uptime - 시스템 가동시간 확인

uptime 시스템이 실행되고 난 후부터 지금까지의 시간 및 로그인한 사용자 수, 시스템 부하율 등의 정보를 표시하는 명령어 명령어 uptime # -p : pretty. 활성화 후의 시간 출력 # -s : since. 활설화 시각을 yyyy-mm-dd HH:MM:SS 형식으로 출력 실행 결과 의미 12:15:03 : 현재 시각 0 min : 활성화된 시각으로부터 지난 시간 1 user : 로그인한 사용자 수 load average : 1분, 5분, 10분의 평균 부하율

Linux 2021.08.20

Developing Network Policy

들어오는 트래픽을 허용하면, 허용된 트래픽에 대한 응답을 자동으로 허용하기 때문에 요청이 발생하는 방향만 고려하면 된다. 또한 Network Policy는 ingress, egress 규칙을 모두 가질 수 있다. 여러 경우 클러스터 내에 label은 같지만 namespace가 다른 포드가 여러 개 있는 경우 -> 모든 namespace에서 label이 일치하는 모든 포드의 연결이 허용된다. 특정 namespace의 포드만 허용하고 싶은 경우 -> namespaceSelector를 사용한다. podSelector가 없는 대신 namespaceSelector만 있는 경우 -> 설정된 namespace 내의 모든 포드와의 연결을 허용하며, 그 외의 포드는 허용하지 않는다. 클러스터 외부에서 포드에 연결하고 싶..

Network Policy

Ingress 서버 입장에서, 들어오는 트래픽 Egress 서버 입장에서, 보내는 트래픽 트래픽이 발생한 방향을 따져서 ingress와 egress를 정의하며, ingress와 egress를 정의하기 위해서는 트래픽 규칙이 필요하다. All allow 모든 포드에서 다른 포르 또는 서비스로 트래픽을 허용하는 규칙 쿠버네티스가 기본적으로 구성하는 규칙으로, 쿠버네티스는 어떤 솔루션을 구현하든 추가 설정 없이 포드 간에 통신이 가능해야 함을 전제한다. Network Policy 쿠버네티스의 개체 중 하나로, 하나 이상의 포드에 연결하여 policy 내에 트래픽 규칙을 정의할 수 있다. Network Policy를 생성하여 포드에 적용하면, 적용된 포드에서는 규칙에 해당하는 트래픽만 혀용하고 다른 트래픽은 차..

[Shell Script] 조건문

매번 구글링 해서 찾기 때문에 적어둔다. IF문 if [ 값1 조건식 값2 ] then 실행문 fi if [ 값1 조건식 값2 ] ; then 실행문 fi # 예시 if [ ${PATH} == "/" ] # == 은 문자열 비교 시 사용 then size=$(df -m | grep ${PATH} | awk '{ print $3 }') fi if [ ${PATH} == "/" ] ; then size=$(df -m | grep ${PATH} | awk '{ print $3 }') fi 대괄호와 값 사이에는 공백이 존재해야 한다. 변수를 참조할 때는 중괄호로 변수명을 감싸는 습관을 들이는 것이 좋다. if문은 fi로 끝낸다. IF-ELSE 문 if [ 값1 조건식 값2 ]; then 실행문 else 실행문 ..

Linux/Shell Script 2021.08.17

JAR - 압축/해제/디컴파일

JAR Java Archive 자바 클래스 파일과 클래스가 이용하는 리소스 및 메타데이터를 자바 플랫폼에 애플리케이션이나 라이브러리로 배포하기 위한 소프트웨어 패키지 파일 포맷 확장자는 .jar이며, 실제로는 zip 파일 포맷으로 이루어진 압축 파일이다. JDK에 포함된 jar 명령어를 이용해 jar 파일을 생성하거나 압축을 해제할 수 있다. jar 파일은 자바 런타임이 효율적으로 애플리케이션을 배포할 수 있는 수단이며, 요청 한 번으로 애플리케이션 전체를 다운로드할 수 있게 한다. 압축 jar -cvf # -c : 새 jar 패키지 파일 생성 # -v : 상세 정보 확인 # -f : jar 파일 이름 지정 PATH의 디렉터리를 FILENAME으로 압축한다. 압축 해제 반디집과 같은 일반 압축 해제 소프..

Java 2021.08.16

Ingress Networking

쿠버네티스 서비스 세 가지 유형 중 로드밸런서 유형은 온프레미스에서의 NodePort 유형의 서비스의 역할을 클라우드 환경에서 대체한다. 다른 애플리케이션 두 개가 클러스터 리소스를 공유할 수 있도록 하기 위해서는 같은 클러스터 내에 별도 Deployment로 배포해야 하는데, 이때 로드밸런서 유형의 서비스는 로드밸런서를 프로비저닝 하기 때문에 클라우드 비용도 증가할 수 있다. 로드밸런서 간의 트래픽을 URL 기반으로 전달하기 위해서는, URL 기반 트래픽을 다른 서비스로 리다이렉션 할 수 있는 프록시 또는 로드밸런서가 필요하다. 새 쿠버네티스 서비스를 구성할 때마다 로드밸런서를 재구성해야 한다. 때문에 구성이 다양해진 상황에서는 애플리케이션 확장 시 관리가 어려울 수 있고, 각 서비스마다 새 클라우드 ..

git 사용자 설정

git config Git의 사용 환경 설정의 내용을 확인하고 변경하는 도구 git 설치 후에는 사용자 설정 등의 환경을 설정해주어야 원격 저장소로 푸시를 하는 등의 작업을 진행할 수 있다. 설정 파일 /etc/gitconfig 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 git config --system​ 설정 변경 시, root 권한이 필요하다. ~/.gitconfig, ~/.config/git/config 현재 사용자에게만 적용되는 설정 모든 저장소 설정에 적용된다. git config --global​ ./.git/config git 디렉터리에 위치하여 특정 저장소에만 적용된다. git config --local​ ./.git/config이 제일 우선적으로 적용된다. 사용자 정보 설정 g..

Git | GitLab 2021.08.14