본문 바로가기

전체 글131

[k8s] 24. Service - Headless, Endpoint, ExternalName Service에 대해 자세히 알아보자 우선 이전에 배운 내용을 복습 내부망에서 접속 공유기를 통해서 시작하는 아이피에서 내부망이 형성 세 대의 서버를 이용해서 Master와 Node로 쿠버네티스 클러스터가 만들어짐 클러스터에는 파드를 위한 아이피 대역(20으로 시작), 서비스를 위한 아이피 대역이 있음(10으로 시작) 파드는 20으로 시작하고, 서비스는 10으로 시작함 서비스와 파드1, 파드2는 연결되어 있음 서비스는 쿠버네티스의 서버에서만 접근 가능 --> 특정 파드에 클러스터 아이피를 단 건 내부 관리자만 접근할 수 있게 하는 용도 내부망에 여러 기기가 있을 수 있지만 서비스의 아이피를 호출할 순 없음 내부망에 있는 기기가 접근하려면 노드포트(30000) 서비스를 만들어야 함 쿠버네티스 관리자는 내부.. 2021. 2. 18.
[심화][1]Ansible 심화를 위한 환경 설명 with 베이그런트 베이그런트란? 쉬운 프로비져닝, 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것 미리 정의해놓은 정보대로 필요할 때 올려서 사용할 수 있음. ex. CentOS를 설치할 때, 설치가 완료된 후에 ip 등 설정을 하게 되는데,, 베이그런트를 사용하면 설치할 때 자동으로 정보 다 가져가서 한번에 세팅까지 해줌. 즉, 쉽게 프로비져닝이 됨. 설치 환경 가상 머신 하나 ansible server : CentOS 진행방법 1. bash등 명령어 편집을 위해 텍스트 편집기 설치 2. 베이그런트 설치 및 초기화 3. 베이그런트 하일 수정 하여 centos 설치, 버츄어 박스를 통해 각각의 가상머신에서 다양한 기능을 사용하기 위해서 플러.. 2021. 2. 18.
[k8s] 23. Pod - Node Scheduling - 실습 Pod - Node Scheduling 실습 노드가 여러 개 있어야 좋은데, 여건상 2개의 노드로 실습 ㅠㅠ 1. Node Affinity 노드에 두 라벨을 만들고, 파드에 Node Affinity를 사용하여 노드1에 할당되도록 할 것 Pod - MatchExpressions apiVersion: v1 kind: Pod metadata: name: pod-match-expressions1 spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - {key: kr, operator: Exists} containers: - name: container im.. 2021. 2. 17.
[k8s] 22. Pod - Node Scheduling Node Scheduling 파드는 기본적으로 스캐줄러에 의해서 노드에 할당하지만, 사용자나 운영자가 직접 스캐줄할 수 있음 1. NodeName, NodeSelector, NodeAffinity --> Node 선택 파드를 특정 노드에 할당되도록 선택하기 위해 사용 노드들이 있고, 노드마다 가용한 CPU와 라벨이 있음 노드1-3은 한국에 있고, 4-5는 미국에 있음 이 때, 파드를 만들면 스캐줄러는 CPU 자원이 많은 노드1에 할당 NodeName: 스캐줄러와 상관없이 해당 노드의 이름으로 파드가 할당 실제로 잘 사용 안 함 NodeSelector: 파드의 키와 벨류를 달면, 해당 라벨이 달린 노드에 할당됨 여러 노드에 같은 키와 벨류를 가진 라벨이 있을 수 있어, 스캐줄러에 의해서 라벨이 달린 노드들.. 2021. 2. 17.
[k8s] 21. Pod - QoS Classes Pod - QoS Classes 어떨 때 쓸까 노드에 리소스가 있음 노드 위에 파드가 세 개 있고 균등하게 자원 사용 중 이 상황에서 파드1이 추가적으로 자원을 사용해야 하는 상황이 생김 근데 자원이 없다고 에러가 나야하나 아니면 다른 파드를 희생시켜야 할까? 쿠버네티스는 앱의 중요도에 따라 이런걸 관리할 수 있도록 QoS Classes를 지원 BestEffort가 부여된 파드가 먼저 다운됨 --> 회수된 자원을 파드1이 사용 그 다음 파드2가 남은 자원보다 더 많은 자원을 요구할 때 Burstable이 다운되고 자원이 회수됨 어떻게 설정할까 컨테이너에 resources 설정이 있는데 requests와 limits에 따라 메모리와 CPU를 어떻게 설정하느냐에 따라 결정 Guaranteed 파드에 여러 컨.. 2021. 2. 17.
[k8s] 20. Pod - ReadinessProbe, LivenessProbe - 실습 Pod - ReadinessProbe, LivenessProbe 1. ReadinessProbe 이 구성을 만들고, 외부에서 이 서비스에 계속 트래픽을 날릴 것 Service apiVersion: v1 kind: Service metadata: name: svc-readiness spec: selector: app: readiness ports: - port: 8080 targetPort: 8080 Pod apiVersion: v1 kind: Pod metadata: name: pod1 labels: app: readiness spec: containers: - name: container image: kubetm/app ports: - containerPort: 8080 terminationGraceP.. 2021. 2. 17.