분류 전체보기(37)
-
Hello Go World 코드
ch3/ex3.1/ex3.1.gopackage mainimport "fmt" func main() { // Hello Go World 출력 fmt.Println("Hello Go World")} 1. package main- 모든 Go 코드는 패키지 선언으로 시작해야 한다.- main 패키지는 실행 가능한 프로그램을 의미한다.- 즉, Go 컴파일러는 package main을 만나면 "이 코드는 독립 실행 파일을 만든다"라고 인식한다.- main 패키지 내부에는 반드시 func main() 함수가 존재해야 실행 파일을 생성할 수 있다.- 실제 프로그램이 시작되고 끝나는 지점이 바로 main() 함수이다. 실행 가능한 프로그램 = 터미널에서 실행할 수 있는 파일(EXE 등)을 만들 수 있는..
2025.06.03 -
Nginx의 $remote_addr
nginx.conf 에는 아래와 같은 설정을 할수있습니다.set_real_ip_from 10.10.44.0/24; real_ip_header X-Forwarded-For;real_ip_recursive on; set_real_ip_from 10.10.44.0/24 IP 대역에서 온 요청에 대해서만 X-Forwarded-For 헤더를 신뢰하겠다는 뜻입니다.즉 이 설정이 없으면 Nginx 는 X-Forwarded-For 내용을 무시하고 $remote_addr (실제 접속 IP, 보통은 로드밸런서의 IP)만 사용합니다. real_ip_header X-Forwarded-For 어떤 헤더에서 클라이언트의 실제 IP를 가져올지를 지정합니다. 일반적으로 로드밸런서는 원래 클라이언트의 IP를 X-Forwa..
2025.05.15 -
5월의 어느날
안녕하세요! 오늘은 5월10일 비가 내리고 있어요. 그동안 쌓았던 추억을 공유할게요 3월부터 날씨가 제대로 풀리더니, 어느새 봄 입니다. 장군님과 함께 서울숲에서 자전거도 탔어요 ㅎㅎ괜히 여유있는척하면서 손놓고 타다가 넘어질뻔 했습니다. 이 캐릭터는 제가 요즘 푹 빠져 있는 '아사미미쨩'이에요. 동글동글하고 말랑말랑하게 생겼는데, 한편으로는 어딘가 야무진 느낌도 있어서 정말 귀엽고 매력적이에요 ㅋㅋㅋ 장군님과 벚꽃축제에도 다녀왔어요. 활짝 핀 벚꽃들이 정말 아름다웠고, 봄바람도 완벽해서 참 행복한 기억으로 남았습니다 ㅎㅎ 지금은 가비아에서 인턴십 중인데, 사내 닭가슴살 샐러드가 2500 원밖에 안해요! 저속노화를 위한 완벽한 음식인 것 같습니다. 건강도 챙기고 가격도 너무 착해서 한끼로 딱 ㅎ 장..
2025.05.10 -
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.04.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.04.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.04.15