목록전체 글 (291)
내 잡다한 노트
1. Rolling Update (롤링 업데이트)기본 동작:Pod를 점진적으로 교체하면서 새 Pod를 생성합니다.가용성을 유지하며 트래픽이 중단되지 않도록 설계.기존 Pod를 하나씩 종료하고 새 Pod를 하나씩 생성하는 방식.장점:서비스 중단 없이 점진적으로 업데이트 가능.한 번에 교체하는 Pod 수를 제어 가능 (maxUnavailable, maxSurge 설정).설정:strategy:type: RollingUpdate rollingUpdate:maxUnavailable: 1 \# 최대 1개의 Pod만 비가용 상태maxSurge: 1 \# 최대 1개의 Pod 추가 생성k8s에서 Rolling Update가 default 업데이트 전략이다. Recreate (재생성)동작 방식: 기존 Pod를 ..
회사 서버들 프로세스를 정리하다가 LDAP 서버가 있어서 그것에 대해 공부해보기로 마음을 먹어 공부 겸 글을 쓰게 됐다.IT 인프라에서 중요한 역할을 하는 디렉토리 프로토콜로, 사용자 인증, 권한 관리, 자원 관리 등에 널리 사용된다.LDAP네트워크 상에서 디렉토리 정보를 조회하고 수정하기 위한 표준 프로토콜이다.조직 내의 사용자, 그룹, 장비, 애플리케이션 등의 정보를 중앙에서 관리하고 빠르게 검색할 수 있도록 도와준다.여기서, 디렉토리라는게 일반적인 파일 시스템의 디렉토리와는 다른 개념이다.LDAP에서의 디렉토리는 전화번호부나 연락처 목록과 유사한 개념으로, 다양한 attribute를 가진 object들을 계층적으로 관리하는 데이터베이스이다. 그래서, 모든 사용자와 자원 정보를 한 곳에서 관리할 수 ..
오늘 동료이자 친구의 부탁으로 디렉토리에 접근할 수 있도록 권한을 주려 했는데 잘 안쓰는 명령어다보니 까먹어버렸다. 복기하려고 글을 작성하게 됐다. 디렉토리에서 rwx 의 경우 r은 ls를 할 수 있는 권한이고, w는 write, x는 그 디렉토리에 접근을 할 수 있는지에 관한 권한이다. 1. chmod (Change Mode)파일이나 디렉토리의 권한을 변경하는 명령어입니다. 권한은 읽기(r), 쓰기(w), 실행(x)으로 구성된다.chmod [옵션] 권한 대상 나는 주로 chmod +x 쉘스크립트 파일 이런식으로 자주 쓴다. 다른 방법으로는 숫자로 하는 방법이 있다. chmod 755 를 하게 되면, r이 4, w가 2 x가 1로소유자는 rwx 다 할 수 있고, 그룹이나 others 는 r과 x만 할..
1. 클러스터 정보 확인 kubectl cluster-info 클러스터의 기본 정보를 확인할 수 있습니다.2. 노드 목록 조회 kubectl get nodes 클러스터에 연결된 모든 노드의 목록을 확인합니다.3. 파드 목록 조회 kubectl get pods -n 특정 네임스페이스 내의 모든 파드를 확인합니다. 네임스페이스를 지정하지 않으면 기본 네임스페이스를 조회합니다.4. 서비스 목록 조회 kubectl get services -n 클러스터 내 특정 네임스페이스에 생성된 서비스의 목록을 확인합니다.5. 파드 상세 정보 조회 kubectl describe pod -n 특정 파드의 상세 정보를 확인할 수 있습니다. 6. 리소스를 YAML 또는 JSON 형식으로 조회 kubectl get pod ..
Ansible에서 ansible.builtin 접두사는 Ansible의 내장 모듈을 명확하게 지정하기 위해 도입된 네임스페이스입니다. 이는 Ansible 2.10 버전 이후부터 추가된 개념으로, 모듈의 출처나 종류를 명확히 구분하고, 추가적인 모듈 컬렉션을 쉽게 관리할 수 있도록 하기 위함입니다.copy 모듈을 사용하려할 때, ansible.builtin을 접두사로 사용해도 되지만 내장 모듈이기 때문에 생략해도 상관없다. 1. ping 모듈서버와의 연결 상태를 확인하는 가장 기본적인 모듈입니다.서버와의 연결을 테스트하고 응답이 있는지 확인하는 용도로 사용됩니다. - name: Check connection ansible.builtin.ping:2. apt 모듈우분투나 데비안 기반 시스템에서 패키지를 ..
쿠버네티스에서는 오브젝트의 명세(spec)을 명시해줘야 control-plane의 api server와 통신이 원활하다.이때, yaml 파일로 명세를 작성해주고 api server와 통신을 할 때는 json 형식으로 kubectl이 변환을 해주게 된다.적용 명령어는 kubectl apply -f "yaml 파일" 를 사용한다.K8S YAML 파일의 기본 구조apiVersion: kind: metadata: name: namespace: spec: 이와 같이 apiVersion, kind, metadata, spec 이 4가지가 기본적으로 쓰이게 된다.apiVersion은 오브젝트가 속한 쿠버네티스 API의 버전을 지정한다.예시 : apps/v1 , v1 , batch/v1kind는 생성하려는 ..
운영체제에 대해 잘 안다는 것은 운영체제가 어떻게 시스템을 관리하고 자원을 배분하는지에 대해 깊이 이해하고 있는 것을 의미합니다. 구체적으로는 다음과 같은 핵심 개념과 원리에 대해 잘 이해하고 있어야 합니다:1. 커널 구조와 기능커널이 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력(I/O) 제어, 보안 등을 어떻게 수행하는지 이해.모놀리식 커널, 마이크로커널 등의 구조 차이와 장단점에 대한 지식.2. 프로세스와 스레드 관리프로세스 생성과 종료, 상태 전환을 포함해 프로세스가 어떻게 생성되고 종료되는지 이해.멀티스레딩의 개념과 장점, 그리고 컨텍스트 스위칭이 시스템 성능에 미치는 영향.프로세스 간 동기화와 통신(IPC) 기법들(예: 세마포어, 뮤텍스, 메시지 큐 등).3. 메모리 관리가상 메모리..
주요 Dockerfile 지시어1. FROM형식: FROM :설명: 베이스 이미지로 사용할 이미지를 지정합니다. 모든 Dockerfile은 FROM 지시어로 시작해야 합니다.예시: FROM ubuntu:20.042. RUN형식: RUN 설명: 컨테이너 내에서 명령어를 실행하여 이미지에 적용합니다. 주로 패키지 설치나 설정 변경에 사용됩니다.예시: RUN apt-get update && apt-get install -y python33. CMD형식: CMD ["실행 파일", "인자1", "인자2", ...]설명: 컨테이너가 시작될 때 기본으로 실행할 명령어를 지정합니다. Dockerfile에서 하나의 CMD만 사용할 수 있으며, 여러 개가 있을 경우 마지막 것이 적용됩니다.예시: CMD ["python3"..