본문 바로가기
728x90
반응형

k8s12

[K8S] static pod 에 대해서 몇가지. static pod 에 대해서 알아보다가 몇가지 기억할 만한 것들을 적어본다. - master node 의 /etc/kubernetes/manifests 하위에는 yaml 파일들이 있는데 이 yaml 파일들은 마스터 노드가 실행시에 자동으로 생성되는 static pod 들이다. 보통 etcd, api-server등이 있다. - node에 생성된 static pod 를 지우기 위해서는 해당 노드에 가서 지워야 한다. 지우기 위해서는 노드 안에 있는 kubelet의 config 파일(/var/lib/kubelet/config.yaml) 에 있는 staticPodPath 값을 찾아서 path 위치에 있는 yaml 파일을 지워야 한다. kubectl delete pod 로 지우면 다시 생성된다. - 조회는 가능.. 2021. 2. 4.
[K8S] apiserver 에 SAN(Subject Alternative Name) 추가 Lens 라는 툴을 사용해 보려고 host pc 에서 VM 에 있는 K8S 를 연결시켜보려고 시도를 해봤다. 2021/01/05 10:08:52 http: proxy error: x509: certificate is valid for 10.96.0.1, 10.0.1.7, not [ip] 그런데 위와 같은 에러 메세지가 나면서 연결이 되지 않았다. 위에 [ip] 는 host pc 의 ip 이다. Google에서 찾아보니 인증서에 나의 로컬 ip 가 들어가 있지 않아서 라는 이야기가 나왔다. 그럼 현재 k8s 에 있는 apiserver 인증서 내용을 살펴보자. openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text 위와 같이 입력하면 apiserver.crt 파.. 2021. 1. 5.
쿠버네티스 입문 9장 레이블&애너테이션 Label, Annotation Label(레이블) 키-값 쌍으로 구성 파드 관리할때 구분하는 역할을 한다. 규칙 63글자 넘으면 안됨 시작과 끝문자는 알파벳 대소문자 및 숫자 중간에는 대시(-), 밑줄(_), 점(.), 숫자등이 올수 있음 레이블 셀렉터 등호기반(=, ==) 집합기반(in, notin..) 레이블을 모두 만족시켜야 하는경우 (And) 는 쉼표로 연결 실제 서비스에서 정상적으로 셀렉트를 했는지 보려면 서비스의 endpoint를 확인해보면 된다. pod 선택시 -l 옵션 사용 kubectl get pod -l 레이블~ Annotation 쿠버네티스 시스템이 필요한 정보를 담는다. 키는 쿠버네티스 시스템이 인식할 수 있는 값을 사용한다. 출처 : 쿠버네티스 입문 - 90가지 예제로 배우는 컨.. 2020. 12. 30.
쿠버네티스 입문 - 6장 컨트롤러 Controller 개념 Pod 를 관리하는 역학을 한다. Replicatoin Controller(레플리케이션 컨트롤러), ReplicaSet(레플리카 셋) Replication Contller 초기부터 있었던 기본적인 컨트롤러 명시한 Pod 개수만큼 유지하도록 해준다. 현재는 ReplcaSet 을 쓴다. ReplicaSet 레플리케이션 컨트롤러의 발전형. 레플리케이션 컬트롤러와 차이점은 집합기반 셀렉터를 지원 한다. (in, notin, exists) rolling-update 옵션 사용불가 설정 apiVersion: v1 kind: ReplicaSet metadata: name: nginx-replicaset spec: template: metadata: name: nginx-replicaset l.. 2020. 12. 30.
쿠버네티스 입문 - 5장 파드 Pod 개념 쿠버네티스에서 실제로 컨테이너를 묶어서 관리하는 단위 설정 apiVersion: v1 kind: Pod metadata: name: simple-pod (Pod 이름) labels: app: simple-pod (오브젝트를 식별하는 레이블) spec: containers: - name: simple-pod (컨테이너 이름) image: ~~~ (컨네이너에서 사용할 이미지) ports: - containerPort: 8080 Pod 생명주기 Pending -> Running Successed Failed Unknown 컨테이너 진단 ivenessProbe 컨테이너가 실행됐는지 확인 실패시 컨테이너를 종료시키고 재시작 정책에 따라서 재시작 readinessProbe 컨테이너 실행된 후 실제로 서.. 2020. 12. 23.
[K8S] affinity 를 이용해서 노드 중복 피하기. 현재 시스템의 구성은 다음과 같다 MasterNode, Worker1, Worker2 여기에 테스트를 위해서 mysql 을 열려놨다. 해당 yaml 은 다음과 같다. apiVersion: apps/v1 kind: Deployment metadata: namespace: spring name: deploy-mysql labels: app: mysql spec: replicas: 2 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name.. 2020. 11. 20.
[K8S] PV & PVC 1. PV (Persistent Volume) - PV는 클러스터 리소스 이다. - volumeModes Filesystem : Pod 의 디렉토리에 마운트 된다. Block - PersistentVolumeReclaimPolicy (PVC 삭제시 PV 데이터에 대한 정책) - Retail : 그대로 보존 - Recycle : 재사용시 기존 pv 데이터들 삭제 후 재사용 (이건 사용 안함) - Delete : 볼륨 삭제 - RecaimPolicy Update kubectl patch pv -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' 2. PVC (Persistent Volume Claim) pv 와 pvc 는 1:1 바인딩이며 pvc 가 요청하는 .. 2020. 10. 16.
[K8S] Virtual Box 에 Kubernetes 설치하기 몇번의 시도 끝에 Virtual Box 에 Kubernetes 설치를 성공했다. 총 Master1 개, Worker 2 개로 구성을 했다. 1. Virtual BOX 환경설정 - 네트워크 - 네트워크 이름 : k8s-network - 네트워크 CIDR : 10.0.1.0/24 - 네트워크 옵션 : DHCP 지원 체크 2. Machine 설정 (화면캡쳐 없음 ㅠㅠ) - 일반 : 고급 - 클립보드 공유 : 양방향 - 드래그 앤 드롭 : 양방향 - 시스템 : 프로세서 - 개수 : 2 - 네트워크 : 어댑터 1 - 다음에 연결됨 : Nat 네트워크 - 이름 : k8s-network (미리 만들어야된다.) - 네트워크 : 어댑터 2 - 다음에 연결됨 : Nat - 공유폴더 (Optional) - 폴더 설정, 마운.. 2020. 10. 13.
[나는 리뷰어다] Managing Kubernetes!!! 이 책이 최근에 나온 것을 알고 읽어봐야겠다라는 생각을 하고 있었는데 이렇게 리뷰어로 선정되어 읽게 되었다. 우선 이 책의 목차를 보면 총 13개의 Chapter 로 구성되어있다. 1. 쿠버네티스란 2. 쿠버네티스 살펴보기 3. 아키텍처 4. 쿠버네티스 API 서버 5. 스케줄러 6. 쿠버네티스 설치 7. 인증과 사용자 관리 8. 인가 9. 승인제어 10. 네트워킹 11. 모니터링 12. 재해복구 13. 쿠버네티스 확장하기 Chapter 1 에서부터 6 까지는 쿠버네티스의 이론 적인 내용이 주로 설명되어있다. 단, 이 책은 운영에 대해서 초점을 맞춘 책이기 때문에 오브젝트 단위까지의 자세한 설명은 언급하지 않았다. 그리고 그 이후 Chapter 에서는 운영 환경에서 설정을 해줄수 있는 또는 해줘야 하는 .. 2019. 7. 10.
728x90
반응형