본문 바로가기

전체 글17

K8S Flannel CNI 통신 pod가 한개도 없는 상태에서 kubectl run nginx --image=nginx 를 입력하면 worker1 노드에 아래와 같은 NIC 가 생성된다. 생성된 pod1 안의 eth0 은 worker1의 veth(virtual ethernet) 페어를 이루고 있다.pod 를 생성할때마다 veth의 갯수는 일어난다. 생성된 veth 들은 worker1 의 cni0 가상 브릿지 인터페이스와 연결되어 IP 를 할당받는다. pod1 -> pod2 의 ping 통신 과정과정은 아래와 같다.pod1 -> veth -> cni0 -> flannel.1 -> eth3 -> worker2의 eth3 -> flannel.1 -> cni0 -> veth -> pod2 worker1안의 서로 다른 가상 인터페이스 간의 .. 2025. 4. 17.
DNS Zone 파일 hyukjin.io.zone 파일 설명 $TTL 7200hyukjin.io. IN SOA NS01. admin.hyukjin.io. ( 2024061803 ; Serial 7200 ; Refresh 3600 ; Retry 604800 ; Expire 7200) ; NegativeCacheTTL IN NS NS01. IN NS NS02.registry IN A 10.10.46.7registry-dashboard IN A 10.10.46.7git IN A 10.10.46.7hyukjin.io. IN A 10.10.46.7www IN C.. 2025. 4. 15.
DNS 이중화 Rocky Linux 8 Master DNS인바운드 UDP 53 -> 질의TCP 53 -> Zone Transfer ( zone 정보를 안전하게 전송해야 하기 때문에 신뢰성 기반의 TCP 사용) cat > /etc/named.rfc1912.zones zone "hyukjin.io" IN { type master; file "hyukjin.io.zone"; allow-update { none; }; #dns 레코드는 수동으로만 수정 가능 / 클라이언트가 수정 불가 allow-transfer { 10.10.46.31; }; # slave의 IP};EOFcat /var/named/hyukjin.io.zone$TTL 7200hyukjin.io. IN SOA DNS01. admin.hyukjin.io.. 2025. 4. 15.
ls 명령어를 하면 무슨일이 일어날까 ls 명령어는 현재 디렉토리의 파일 목록을 출력하는 명령어이다. 이 명령어를 실행했을때는 무슨일이 일어날까? 1. 현재위치 확인쉘은 PWD 환경 변수를 통해 현재 작업 디렉토리의 위치를 관리하고 있다. ls 명령어를 입력하면 현재 디렉토리에서 파일 목록을 조회하게 된다. 2. 디렉토리 엔트리 조회ls 명령어는 디스크에서 해당 디렉토리 엔트리를 가져온다. 디렉토리 엔트리는 파일 이름과 메타데이터가 저장된 inode번호를 포함하고 있다. 예를들어: 파일 이름 | inode 번호-------------------------file1.txt | 1234567file2.txt | 1234568dir1 | 12345693. inode 테이블 조회각 디렉토리 엔트리에는 해당 파일의 inode .. 2025. 4. 2.
systemctl enable systemctl enable mysqld 를 입력하면 아래와 같은 결과가 나온다.갑자기 저게 무슨 뜻인지 궁금해졌음..enable 하면 시스템이 부팅될떄 자동으로 시작되는건 알았지만 그래서 저게 뭔데!! /usr/lib/systemd/system/와 /etc/systemd/system/의 차이 /usr/lib/systemd/system/는 시스템에서 제공하는 기본 서비스 파일이 저장되는 곳이다. 이 서비스 파일들은 패키지 매니저에 의해 자동으로 설치된다관리자가 수정하거나 삭제하는것이 권장되지 않는다../etc/systemd/system/는 사용자 정의 서비스 파일이 위치하는 곳이다. 새로운 서비스를 추가하거나 기존 서비스를 커스터마이즈 하려먼 이 디렉터리에 서비스 파일을 생성하거나 수정이곳에 저장도니.. 2025. 4. 2.
TCP 연결 설정과 종료 과정 3-Way Handshake3-Way Handshake는 클라이언트와 서버 간의 연결을 설정하기 위한 3단계 과정이다.  1. 클라이언트 → 서버: SYN 패킷 (연결 요청)클라이언트는 연결을 요청하기 위해 SYN 플래그를 설정한 패킷을 서버로 보냄.클라이언트는 이 패킷에 자신의 시퀀스 번호(Seq=x)를 포함시킴.Client → Server: [SYN, Seq=x]Seq=x: 클라이언트가 설정한 시퀀스 넘버SYN=1: 연결을 요청하는 플래그 설정2. 서버 → 클라이언트: SYN-ACK 패킷 (응답)서버는 클라이언트의 SYN 요청을 받으면, SYN-ACK 패킷을 응답으로 보냄.이때 서버는 자신의 시퀀스 번호(Seq=y)와 클라이언트의 Seq 번호 + 1을 포함한 Ack=x+1 값을 설정함.Server →.. 2025. 3. 30.