1. Network Policy 서버의 방화벽과 같이 Pod로의 통신에 대한 접근을 제한할 수 있도록 Kubernetes에서 제공하는 API Pod로 들어오는 Inbound(Ingress)와 Pod에서 나가는 Outbound(Egress) 정책을 정의 생성 yaml 예시 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: matchLabels: role: db policyTypes: - Ingress - Egress ingress: - from: - ipBlock: cidr: 172.17.0.0/16 except: - 172.17...
반응형
Tools
Service 동적으로 변하는 파드들에 고정적으로 접근하기 위한 API 동일한 서비스를 제공하는 Pod 그룹의 단일 진입점을 제공 Service Type - ClusterIP 가장 기본적인 서비스.(default) Pod그룹의 단일진입점을 생성함 - NodePort ClusterIP 가 생성된 후 모든 Worker Node 에 외부에서 접속 가능 한 포트가 예약 1. ClusterIP Pod그룹의 단일진입점을 생성함 클러스터 내부에서만 사용가능 Service type 생략 시 default 로 설정됨 10.96.0.0/12 범위에서 할당됨 kubectl expose deployment type= port= # 예 kubectl expose deployment webserver type=ClusterIP ..
ConfigMap 컨테이너에 필요한 환경설정을 컨테이너와 분리해서 제공하는 기능. ConfigMap 생성 kubectl create configmap [--from-file=source] [--from-literal=key=value] # 예 kubectl create configmap config-dev --from-literal=DB_URL=localhost 예제 1. 아래 변수를 가지는 config-dev라는 이름의 ConfigMap을 생성하시오. 2. 생성한 ConfigMap의 변수를 web-server라는 이름의 Nginx컨테이너에 할당하시오. DB_USER: myuser DB_PASS : mypass 풀이 1. ConfigMap 생성 kubectl create configmap config-d..
Node 관리 cordon : 특정 노드의 스케줄링 중단 kubectl cordon uncordon : 특정 노드의 스케줄링 중단 해제(허용) kubectl uncordon drain : 특정 node 에서 실행중인 pod 비우기(drain) 및 제거(delete) kubectl drain --ignore-daemonsets –force Node 정보보기 Node Taint와 Pod toleration worker node에 taint가 설정된 경우 동일한 값의 toleration이 있는 Pod만 배치 toleration이 있는 Pod는 동일한 taint가 있는 Node를 포함하여 모든 노드에 배치됨. **taint가 없는 노드도 배치될 수 있음 Effect 필드 종류 NoSchedule : tolera..
Deployment ReplicaSet을 컨트롤해서 Pod수를 조절 ReplicaSet에서 Rolling Update & Rolling Back 추가 Deployment 생성 apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx spec: replicas: 2 selector: matchLabels: app: webui template: metadata: labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14 Deployment 스케일링 kubectl scale deployment --replicas= # 예 : deploy-nginx이름의 deployme..
Pod란 Pod란 컨테이너를 표현하는 k8s API의 최소 단위 Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음 Pod 실행 CLI kubectl run --image=: --port= #ex) kubectl run web --image=nginx:1.14 --port=80 Yaml apiVersion: v1 kind: Pod metadata: name: web spec: containers: - image: nginx:1.14 name: web ports: - containerPort: 80 kubectl apply -f web.yaml CLI로 Yaml 추출 kubectl run web --image=nginx:1.14 --port=80 --dry-run -o yaml > web.yaml ..
참고 : https://kubernetes.io/docs/reference/access-authn-authz/rbac/ Using RBAC Authorization Role-based access control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within your organization. RBAC authorization uses the rbac.authorization.k8s.io API group to drive authorization decis kubernetes.io Role-based access control(RBAC. 역할기..
kubeadm 업데이트 참고 https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ Upgrading kubeadm clusters This page explains how to upgrade a Kubernetes cluster created with kubeadm from version 1.25.x to version 1.26.x, and from version 1.26.x to 1.26.y (where y > x). Skipping MINOR versions when upgrading is unsupported. For more details, please visit Versio kubernetes.io 예제 Kube..
반응형