목록2024/09 (19)
후니의 IT인프라 사전
이더넷 Ethernet은 연결 매체의 규격(IEEE 802.3), 송수신되는 프레임의 형태 등을 정의한 네트워크 기술이다. 이터넷 통신 매체의 경우 '전송속도 BASE-추가 특성'으로 표기한다. 이더넷 프레임 : 이더넷에서 송수신되는 프레임 형태이다. 프리앰블, 수신지MAC주소, 송신지 MAC 주소, 타입/길이, 데이터, FCS MAC 주소 : 네트워크 인터페이스마다 부여되는 물리적 주소이다. 6바이트(48비트)의 16진수 열두 자리로 구성된다. NIC(Network Interface Controller) 호스트와 통신 매체 사이의 인터페이스 역할을 담당하는 네트워크 장비이다. NIC 마다 MAC 주소를 갖게된다. Twisted pair cable 우리가 흔히 말하는 LAN선이며, 카테고리로 분류한다. ..
네트워크란여러 장치가 서로 연결되어 정보를 주고 받는 통신망을 이야기합니다. 통신망의 분류는 근거리 통신망인 LAN과 광역 통신망인 WAN으로 분류합니다. 네트워크에는 메시지를 주고 받기 전, 회선 설정을 통한 연결을 확립한 뒤 송수신하는 네트워크인 회선 교환 네트워크와 메시지를 패킷 단위로 쪼개 송수신하는 패킷 교환 네트워크가 있으며 현대에는 패킷 교환 방식을 이용한다. 패킷교환에는 프로토콜을 사용하는데 통신하기 위해 합의한 통신 규칙을 말한다. 프로토콜은 다양한 종류가 있는데 프로토콜 마다 목적과 특징이 다르므로 헤더도 달라진다. 네트워크 참조모델에는 OSI 7계층와 TCP/IP 4계층 두 가지 모델이 대표적이다. 데이터 전송 과정에서 헤더 (및 트레일러)를 추가해나가는 과정을 캡슐화(encapsu..
이번 주제는 kubernetes의 네트워크 service에 대해서 알아보도록 하겠습니다. 전통적인 트래픽 전송은 pod에 할당된 IP에 직접 호출하는 것이였습니다. 우리가 10.0.1.1이라는 pod IP를 알면 그냥 호출하면 되는거죠. 그런데 우리가 흔히 실제로 운영을 하다보면 컨테이너는 쉽게 문제가 생겨 죽거나 급증하는 트래픽을 감당하기 위해 auto scaling 되기도 합니다. 그럼 이 pod의 IP들을 알 수 없어 감당하기 힘들어지게 되죠.따라서 가상의 고정 IP를 할당하고, 쉽게 호출할 수 있는 도메인을 제공하는 Service가 등장하게 됩니다. Service yamlhttps://kubernetes.io/docs/concepts/services-networking/service/ 공식문서..
Codebuild OS 이미지 별 사용가능한 런타임 정보https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/available-runtimes.html 사용 가능한 런타임 - AWS CodeBuild이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.docs.aws.amazon.com예를 들어 golang:1.12 버전을 사용하고 싶으면 amazon linux 2 AArch64 표준 2.0 이미지를 사용해야합니다.runtime 버전정보https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/..
KubeSkoop란?kubeskoop는 kubernetes 환경에서 네트워크를 추적하고 진단할 수 있는 도구로 특히 Calico를 포함한 다양한 CNI 플러그인과 쿠버네티스 네트워크를 진단하는데 잘 활용됩니다. 쿠버네티스 클러스터에 Pod의 네트워크 트래픽을 자동으로 구성하고, eBPF로 커널의 중요 경로를 모니터링하고 분석할 수 있습니다.공식문서 Github KubeSkoop의 특징네트워크 진단Pod, Service, Node 간 클러스터 내 트래픽과 송수신 트래픽 진단CSP의 IaaS 네트워크 조사 지원 (다만 현재 alibaba 클라우드만 가능한 것으로 보입니다)리눅스 네트워크 스택 전체 지원eBPF를 활용한 커널 모니터링네트워크 이상 이벤트 감지Prometheus 메트릭 API 사용, Grafan..
calico cni 배포kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.1/manifests/calico.yaml calicoctl 배포현재 문서 작성시에 사용하는 버전은 3.28.1버전입니다.참고로 cluster type에 명시되어있는데, k8s(쿠버네티스) 사용, bgp 프로토콜 사용, kubeadm으로 구성되어있음. kdd(kubernetes datastore)를 사용하고 있다는 것을 명시하고 있습니다.curl -L https://github.com/projectcalico/calico/releases/download/v3.28.1/calicoctl-linux-amd64 -o calicoctlchmod +x ..
총평- 책의 난이도 : ★☆☆☆☆- 추천 별점 : ★★★★☆- 추천 독자 : chatGPT를 사용하고 싶은 독자라면 누구나- 지은이 : 홍순성 지음- 출판사 : 한빛미디어 요즘 chatGPT를 활용하는 책들이 정말 많이 나오는 걸 보면 대세가 맞긴 한 것 같습니다. 이제는 AI 안쓰면 바보되는 시대가 된 것 같네요.지은이 홍순성님은 AI 개인 컨설턴트도 하시고 나름 AI에 대해서 공부도 많이하시고 강의도 하시는 것 같습니다. 책까지 내셨네요.책에 대한 전반적인 느낌은 글쓰기에 대한 기본적인 내용을 이제는 ChatGPT랑 같이하면 혼자서도 가능하다 정도가 되겠습니다. 책의 구성글쓰기 단계별로 필요한 내용에 대해서 ChatGPT에게 어떻게 질문하고 알아가..
테라폼은 Stateful(상태가 있는) 애플리케이션이다. 프로비저닝 결과에 따라 State를 저장하고 프로비저닝한 모든 내용을 저장된 상태로 추적한다. 로컬에서는 terraform.tfstate 파일에 Json으로 저장한다.state에는 작업자가 정의한 코드와 실제 반영된 프로비저닝 결과를 저장하고, 이 정보를 토대로 이후의 리소스 생성, 수정, 삭제에 대한 동작 판단 작업을 수행한다. State의 목적과 의미- state에는 테라폼 구성과 실제를 동기화하고 각 리소스에 고유한 아이디(리소스 주소)로 맵핑- 리소스 종속성과 같은 메타데이터를 저장하고 추적- 테라폼 구성으로 프로비저닝된 결과를 캐싱하는 역할을 수행 resource "random_password" "password" { length = 1..
테라폼은 바이너리 파일을 시작으로 로컬 환경에나 서버에서 원격 환경으로 원하는 대상에 API 호출을 진행한다. 따라서 각 대상이 지원하는 api를 사용해야 하며, 이를 provider라고 한다. provider가 제공한 API를 호출해 상호작용을 한다. Terraform provider Guide DocsTerraform provider Registry프로바이더 식별 정보테라폼에서 제공하는 프로바이더는 각 서비스에서 정의한다. 하시코프의 공식이 있고, 개인이 만들 수도 있다. 다만 각 서비스에서 정의하는 API의 양식이 있으므로 해당 프로바이더마다 그 요청값이나 양식은 다를 것이다. 따라서 official 이라 하더라도 A프로바이더에서 B프로바이더의 전환은 불가능하다.Tier설명네임스페이스official..
다음은 가시다님의 KANS 3기의 포스팅으로 2주차 K8S Flannel CNI & PAUSE 내용을 정리합니다. 이번 포스팅은 pod와 pause 컨테이너의 내용에 대해서 알아보고자 합니다.pod란?pod는 쿠버네티스에서 가장 작은 단위로 리소스 제약이 있는 격리된 환경(네임스페이스)의 1개 이상의 컨테이너로 이루어진 컨테이너의 집합입니다. 또한 추가적으로 1개의 ip를 가지고 여러 컨테이너가 공유합니다. pod의 특징- 1개 이상의 컨테이너를 가질 수 있습니다 (sidecar 패턴 등)sidecar 패턴은 datadog 등을 사용하신다면 쉽게 볼 수 있는데, 하나의 pod 내에서 애플리케이션 컨테이너의 로그를 감시, 전송 등을 하기 위해 추적하는 컨테이너를 별도로 넣는 방식으로 주로 사용합니다. -..
kubeskoop이란 무엇인가?- CNI 플러그인이나 IAAS 공급자를 위한 쿠버네티스 네트워킹 진단 도구이다.- pod의 네트워크 트래픽 그래프를 자동으로 구성하고 eBPF로 커널 모니터링을 실시한다.- 네트워크 진단, 이벤트 모니터링, 패킷 캡처, 지연 감지 등이 가능하다. 관련 페이지https://kubeskoop.io/https://github.com/alibaba/kubeskoop" data-og-host="kubeskoop.io" data-og-source-url="https://kubeskoop.io/" data-og-url="https://kubeskoop.io/" data-og-image="https://scrap.kakaocdn.net/dn/oQQWf/hyWZgEbflj/7Y5wCLiP..
umount어떠한 장치가 마운트 된 디렉터리에 해당 장치를 제거(마운트 해제)하는데 사용하는 명령입니다. 사용법umount / 발생가능한 에러 umount: Mounted: target is busy 원인 해당 문제는 특정 사용자나 프로세스가 해당 디렉터리를 사용하고 있을 때 발생합니다. df -h해당 명령어를 사용하면 디스크 사용량을 볼 수 있어서 확인해보는 것도 좋습니다. 해결 1대표적으로 해당 디렉터리 내에서 umount 명령을 사용할 경우 현재 접근중인 디렉터리기 때문에 발생할 수 있습니다. 그래서 해당 디렉터리를 나와서 umount를 실행하면 됩니다. 해결2해결 1이 되지 않을 경우 마운트 해제 옵션을 줍니다.umount -f -l /옵션-f, --force : 강제 마운트 해제-l, --..