개발/개발공부38 Kubernetes CNI / Container Network Interface, 네트워크 Kubernetes Container Network Interface(CNI) 컨테이너의 Network, 즉 통신관련된 부분을 관리하기 위한 표준 인터페이스 CNCF(Cloud Native Computing Foundation)에서 프로젝트로 관리, 표준으로 관리 - CNI: 컨테이너 런타임과 네트워크 사이에서 표준 인터페이스를 제공, 구성, 관리해줌. 여러 컨테이너 런타임에서 동일한 구조로 가져갈 수 있도록 도와줌 - Plugin 구조: 표준 인터페이스를 통해 사용자의 환경과 요구에 맞춰서 원하는 플러그인을 선택하여 사용 가능 - 3rd-party plugin: Flannel, Calico, Clilum 등 다양한 종류의 네트워크 솔루션과 통합하여 사용 가능 기본으로 제공해주는 kubenet이라는 자체.. 2023. 6. 4. Ansible vs Terraform / 앤서블, 테라폼, 차이 Infra에 관심을 갖고 공부하다보면 새로운 클러스터에 기존 클러스터의 환경을 그대로 구축하는 등, 인프라 환경 관리에 대해 고민을 갖게 됩니다. 이럴때 가장 많이 접하게되는 Ansible과 Terraform에 대해 찾아봤습니다. 둘다 Infrastructure 자동화에서 유명한 툴들인데요. 사실 성격이 좀 다르기 때문에 뭐가 더 나은지 비교하기는 어려운 것으로 보시면 됩니다. Ansible - 오픈소스 자동화 툴, 설정관리, 배포, 작업 자동화 등 configuration에 특화 - YAML과 INI(inventory)파일과 상태를 통해 관리 - agentless, 노드에 추가로 agent같은 것을 설치 안해도 사용가능 (AWS codepipeline을 보면 deploy-agent같은 것이 필요) - .. 2023. 5. 30. Kubernetes Storage / emptydir, persistent volume Kubernetes Emptydir EmptyDir 볼륨은 Pod와 함께 생성되고 삭제됨, lifecycle을 같이 가져가는 존재 Pod내의 모든 컨테이너는 emptyDir 볼륨에 접근 가능 디스크, SSD, 네트워크 스토리지등에 저장이 가능하고, emptyDir.medium 필드를 Memory로 설정시 tmpfs RAM에 마운트 가능 대신 메모리 제한에 유의 apiVersion: v1 kind: Pod metadata: name: test-pd spec: containers: - image: registry.k8s.io/test-webserver name: test-container volumeMounts: - mountPath: /cache name: cache-volume volumes: - nam.. 2023. 5. 24. Kubernetes cordon, drain / pod schedule, 제거, node Kubernetes cordon Kubernetes 클러스터를 사용하다보면 특정 서버 노드에 문제가 생겨서 서비스에서 제외할 필요가 생김 이럴때 cordon명령어를 통해 더이상 Pod가 해당 노드에 스케줄링 되지 않도록 설정 가능 % kubectl get nodes NAME STATUS ROLES AGE VERSION dev-chicken1 Ready control-plane 1d v1.21.6 dev-chicken2 Ready 1d v1.21.6 dev-chicken3 Ready 1d v1.21.6 dev-chicken4 Ready 1d v1.21.6 이렇게 node중 3번 노드에 문제가 생겼다면 cordon 명령어를 실행해주면 됨 $kubectl cordon dev-chicken3 NAME기준으로 명.. 2023. 4. 1. Go-git / golang, git client, 깃, github go-git Go를 사용하면서 git-client가 필요할 때 사용하는 라이브러리 https://github.com/go-git/go-git GitHub - go-git/go-git: A highly extensible Git implementation in pure Go. A highly extensible Git implementation in pure Go. - GitHub - go-git/go-git: A highly extensible Git implementation in pure Go. github.com pure Go 로 되어있어서 빠르고, 가벼운 것이 장점그 외에도 Docs, examples가 잘 설명되어있고 go git client중 가장 대중적임근데 아직 다른 언어생태계에 비해 기능지.. 2023. 3. 19. FQDN / Fully Qualified Domain Name, 도메인, Kubernetes cluster domain FQDN Kubernetes 클러스터를 관리하다보면 도메인 이름 관련하여 한번쯤은 들어보게되는 FQDN 네트워크쪽이 복잡하게 구성되어있는 만큼 정확하게 알아두면 좋을 것 같아 찾아봤다. 웹에서 주소를 입력할 때 www.tistory.com / tistory.com / www.tistory.com. 어떤 것을 입력해야할지 불분명한 케이스가 있음 www는 호스트를 의미하고, tistory.com 부분은 도메인을 의미한다. FQDN은 www.tistory.com.을 의미한다. 호스트와 도메인을 모두 합친 마지막에 .는 네임스페이스 경로를 명확히 하기 위해 포함된다. (Root를 의미) 계층구조로 되어있는 것을 보면 1. root domain (.) 으로 시작 2. (.) 을 기준으로 도메인과 호스트를 차례대로.. 2023. 3. 12. 이전 1 2 3 4 ··· 7 다음 반응형