본문 바로가기
728x90
반응형

2020/1212

2020년을 돌아보며 어느새 2020년 12월 31일이 되었다. 코로나로 인해서 온 세상이 멈춰버린듯 한 2020년이었지만 시간은 여지없이 흘러갔고 몇시간 후면 2021년을 맞이하게 되었다. 올 한해 내가 무엇을 했었고 무엇을 못했는지 한번 돌아보려 한다. 2019/12/24 - [P's Life] - 2020년에는 꼭 실천해 보자. 1. 영어 영어 일기는 초반에 좀 쓰다가 나중에 안쓰게 됐다. 처음 계획은 주 5일 매일매일 하겠다는 야심찬 계획이었으나 쉽게 지켜지지 않았다. 3월 말까지 쓰고 안쓴듯 하다. 단지 꾸준히 했던것은 회사에서 신청한 전화영어 정도. 전화영어 같은 경우는 올해 한해동안 계속 했는데 생각보다 실력이 좋아지지는 않았다. 예습 또는 복습이 같이 병행되지 않고 전화하는 순간에만 영어를 하려다 보니 강사에게.. 2020. 12. 31.
쿠버네티스 입문 12장 파드스케줄링 파드 스케줄링 파드를 만들때 어떤 노드에서 실행할지 다양한 옵션으로 선택할 수 있다. NodeSelector(노드 셀렉터) 설정spec: containers: nodeSelector: key: value Node Affinity 노드 레이블을 기반으로 파드를 스케줄링 한다. 노드 셀렉터를 함께 설정할 경우 둘다 만족하는 노드에 스케줄링된다. requiredDuringSchedulingIgnoredDuringExecution : 스케줄링 하는동안 꼭 필요한 조건 preferredDuringSchedulingIgnoredDuringExecution : 만족하면 좋은 조건. (필수아님) 스케줄링 하는 동안 조건이 변경되더라도 무시한다. 설정spec: affinity: nodeAffinity: requiredD.. 2020. 12. 31.
쿠버네티스 입문 11장 secret Secret 비밀번호 같은 민감한 정보를 저장하는 용도로 사용 생성 명령어 kubectl create generic secret명 --from-file~ 실제 값은 base64 로 인코딩한 값이 들어간다. 템플릿 apiVersion: v1 kind: Secret metadata: name: user-pass-yaml type: Opaque data: username: 값 password: 값 type Opaque : 기본값 kubernetes.io/service-account-token : 쿠버네티스 인증토큰 저장 kubernetes.io/dockerconfigjson: 도커 저장소 인증정보 저장 kubernetes.io/tls: TLS 인증서 저장 data 값은 base64 로 인코딩 한 값을 넣어야 .. 2020. 12. 30.
쿠버네티스 입문 9장 레이블&애너테이션 Label, Annotation Label(레이블) 키-값 쌍으로 구성 파드 관리할때 구분하는 역할을 한다. 규칙 63글자 넘으면 안됨 시작과 끝문자는 알파벳 대소문자 및 숫자 중간에는 대시(-), 밑줄(_), 점(.), 숫자등이 올수 있음 레이블 셀렉터 등호기반(=, ==) 집합기반(in, notin..) 레이블을 모두 만족시켜야 하는경우 (And) 는 쉼표로 연결 실제 서비스에서 정상적으로 셀렉트를 했는지 보려면 서비스의 endpoint를 확인해보면 된다. pod 선택시 -l 옵션 사용 kubectl get pod -l 레이블~ Annotation 쿠버네티스 시스템이 필요한 정보를 담는다. 키는 쿠버네티스 시스템이 인식할 수 있는 값을 사용한다. 출처 : 쿠버네티스 입문 - 90가지 예제로 배우는 컨.. 2020. 12. 30.
쿠버네티스 입문 10장 컨피그맵 ConfigMap 컨테이너에 필요한 환경 설정을 컨테이너와 분리해서 제공하는 기능 사용 설정apiVersion: v1 kind: ConfigMap metadata: name: config-dev data: DB_URL: localhost DB_USER: myuser DB_PASS: mypass DEBUG_INFO: debug 컨피그맵 일부만 사용spec: containers: - name: image: env: - name: DEBUG_LEVEL valueFrom: configMapKeyRef: name: config-dev key : DEBUG_INFO .env[].valueFrom 사용 .env[].valueFrom.configMapKeyRef 를 통해 이미 정의된 configmap 사용 컨피그맵 전.. 2020. 12. 30.
쿠버네티스 입문 - 8장 인그레스 Ingress 개념 클러스터 외부에서 안으로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙 인그레스는 규칙들의 모음이며 실제로는 인그레스 컨트롤러가 동작시킨다. 설정 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: foo.bar.com http: paths: - path: /foos1 pathType: Prefix backend: service: name: s1 port: number: 80 - path: /bars2 pathType: Prefix backend: service: name:.. 2020. 12. 30.
쿠버네티스 입문 - 7장 서비스 Service 개념 동적으로 변하는 Pod 들을 고정적으로 접근할 때 사용한다. 서비스는 주로 L4영역에서 통신할 때 사용한다. 서비스 타입 ClusterIP default, 클러스터 내부에서만 사용가능 NodePort 모 모든 노드에 지정된 포트를 할당함. 외부에서 접근 가능 LoadBalancer EXTERNAL-IP 생성 외부에서 Pod 접근 가능 할수 있게 해줌 ExternalName 서비스를 .spec.externalName 필드에 설정한 값과 연결한다. 클러스터 안에서 외부에 접근할 때 주로 사용한다. 서비스 사용 설정 apiVersion: v1 kind: Service metadata: name: my-service spec: type: ClusterIP selector: app: MyApp.. 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.
728x90
반응형