본문 바로가기

네트워크/k8s47

[k8s] 11. Namespace, ResourceQuota, LimitRange - 실습 Namespace, ResourceQuota, LimitRange 실습 1. Namespace Namespace apiVersion: v1 kind: Namespace metadata: name: nm-1 Pod apiVersion: v1 kind: Pod metadata: name: pod-1 namespace: nm-1 labels: app: pod spec: containers: - name: container image: kubetm/app ports: - containerPort: 8080 Service apiVersion: v1 kind: Service metadata: name: svc-1 namespace: nm-1 spec: selector: app: pod ports: - port: 9.. 2021. 2. 11.
[k8s] 10. Namespace, ResourceQuota, LimitRange Namespace, ResourceQuota, LimitRange 왜 써야하는가 쿠버네티스 클러스터는 사용할 수 있는 전체 자원이 있음 일반적으로 Memory, CPU가 자원임 클러스터 안에는 여러 네임스페이스를 만들 수 있고, 그 네임스페이스에는 여러 파드를 만들 수 있음 각 파드는 클러스터의 자원을 공유하여 사용 한 네임스페이스의 파드가 클러스터의 자원을 다 써버리면 다른 네임스페이스의 파드가 쓸 자원이 없는 문제 발생 이런 자원 관리를 ResourceQuota가 해줌 ResourceQuota를 네임스페이스에 달면 네임스페이스마다 사용할 수 있는 자원의 최대 한계를 설정할 수 있음 한 파드가 자원 사용량을 너무 크게하면 다른 파드들이 네임스페이스에 들어오지 못함 Limit Range를 설정하여 파드가.. 2021. 2. 10.
[k8s] 9. ConfigMap, Secret - 실습 ConfigMap, Secret 실습 1. Env(Literal) ConfigMap YAML apiVersion: v1 kind: ConfigMap metadata: name: cm-dev data: SSH: 'false' User: dev key, value는 모두 string이니까 '을 넣어야 함 Secret YAML apiVersion: v1 kind: Secret metadata: name: sec-dev data: Key: MTIzNA== key에 들어갈 value는 base64 인코딩해야 함 Pod YAML apiVersion: v1 kind: Pod metadata: name: pod-1 spec: containers: - name: container image: kubetm/init env.. 2021. 2. 8.
[k8s] 8. ConfigMap, Secret - Env, Mount ConfigMap, Secret 언제 사용하나 개발환경과 상용환경이 있음 개발환경의 A 서비스는 일반 접근과 보안 접근을 지원 개발환경에서 보안 접근을 해제할 수 있는 옵션이 있음 보안 접근을 한다면, 접근 User와 Key 설정 상용환경으로 배포하면, 보안 접속을 설정, User, Key 값도 변해야 함 개발과 상용환경의 다른 환경때문에 각각 다른 이미지로 보관하는 건 낭비 낭비하지 않으려고 ConfigMap, Secret 오브젝트가 있음 파드 생성 시 ConfigMap, Secret을 연결 시킴 연결된 파드의 컨테이너의 A서비스는 ConfigMap과 Secret으로 로직을 처리 사용 방법 ConfigMap, Secert은 데이터로 상수, 환경변수 파일, Volume Mount 파일로 설정 가능 각각 .. 2021. 2. 7.