본문 바로가기

IT 엔지니어

(232)
K8S - Load Balance ✅ 핵심 요약kubectl port-forward는 "Pod 전체"에 대해 동작하고,Pod 안에 있는 특정 컨테이너를 직접 선택해서 포워딩하지는 않습니다.즉, Pod 안의 여러 컨테이너가 각각 다른 포트를 사용하면,그 포트들로 Pod 전체에 포트 포워딩을 할 수 있어요.어떤 컨테이너가 그 포트를 리슨 중인지에 따라 응답이 달라지는 거죠.🛠 예시: 외부에서 각각 접근mypod 안에 다음과 같은 구조가 있다고 가정할게요:mycon2 → 81번 포트에서 Nginx 실행mycon3 → 82번 포트에서 Nginx 실행그리고 kubectl port-forward를 다음처럼 실행합니다:kubectl port-forward pod/mypod 8081:81 8082:82외부의 localhost:8081 → Pod 내부..
K8S 실습 파드 생성(명령어)파드 이름 mypod1 mypod2컨테이너 이름 mycon1 mycon2이미지 nginxNS myns1Port 80kubectl run mypod --image --port 80 -n myns1kubectl run mypod --image=nginx \\ --overrides='{ "apiVersion": "v1", "kind": "Pod", "spec": { "containers": [{ "name": "mycon1", "image": "nginx" }] }}' \\ --dry-run=client -o yaml | kubectl apply -f -kubectl describe pods mypod1pod name container name 확인 가..
K8S POD 생성 [쿠버네티스 진행 상태]Pending : 클러스터에서 파드가 생성된 상태하나 이상의 컨테이너가 설정되지 않음실행 준비되지 않음Running : 노드에 파드 배치된 상태모든 컨테이너 생성 및 구동된 상테하나 이상의 컨테이너가 시작 및 실행 상태Succeed / Failed : 모두 종료 / 실패 종료1. Pod Phase (파드 상태 단계)파드의 상태는 status.phase 필드로 표현되며, 파드가 전체적으로 어떤 상태인지를 요약합니다.Phase 설명Pending파드가 쿠버네티스에 생성 1개 이상 컨테이너 이미지 미다운상태 노드에 스케줄되지 않음Running파드가 노드에 스케줄, 1개 이상 컨테이너가 실행 중 나머지도 실행 대기 중 또는 시작됨Succeeded파드 내 모든 컨테이너가 정상 종료 다시 시작..
DOCKER NAMESPACE/STATEFULSET [디폴트 네임스페이스 변경][기존 네임스페이스 확인]kubectl config view[context 생성 및 추가]kubectl config set-context kubernetes-user@cluster.local --cluster=cluster.local --user=kubernetes-admin --namespace=myns1Context "kubernetes-user@cluster.local" created. [기존 context 확인]$ kubectl config current-context [kubernetes-user@cluster.local로 변경]$ kubectl config use-context kubernetes-user@cluster.localSwitched to context..
Docker POD [POD 구성요소]Deployment → ReplicaSet → Pod리소스 역할Pod컨테이너가 실제로 동작하는 최소 단위ReplicaSet같은 Pod를 여러 개 복제해서 유지DeploymentReplicaSet을 자동으로 생성하고 관리해주는 컨트롤러 [Control Plane 구성요소]kube-apiserver모든 명령/요청이 오가는 핵심 진입점 (쿠버네티스의 프론트엔드 역할)인증, 권한 부여, REST API 처리etcd쿠버네티스의 모든 상태 데이터를 저장하는 Key-Value 저장소(데이터베이스)클러스터 설정, 파드 상태, 네트워크 정보 등을 저장kube-scheduler새로운 파드를 적절한 노드에 스케줄링(배치)kube-controller-manager다양한 컨트롤러들을 실행해서 클러스터 상태를..
Docker 기본 명령어 [K8S 기본 명령어]kubectl version --shortkubectl get nodeskubectl get nodes -o widekubectl get all -A=kubectl get pods/svckubectl get pods --all-namespaces[쿠버네티스에서 도커 로그인 시크릿]kubectl create secret docker-registry [mysecret] --docker-username=[user] --docker-password=[1234] --docker-email=[email] secret/mysecret created개인 도커 레지스트리 인증 정보를 Kubernetes Secret으로 저장할 때 사용[삭제]kubectl delete secrets [mysecret]..
Docker Kubespray -1 📌 1. 각 노드에서 클러스터 초기화*모든 노드(Master + Worker)**에서 아래 명령어를 실행합니다:sudo kubeadm reset -f📌 2. 쿠버네티스 설정 및 데이터 제거sudo systemctl stop kubeletsudo systemctl stop docker # 또는 containerd 사용 시: sudo systemctl stop containerdsudo rm -rf ~/.kubesudo rm -rf /etc/kubernetes/sudo rm -rf /var/lib/etcd/sudo rm -rf /var/lib/kubelet/sudo rm -rf /etc/cni/sudo rm -rf /opt/cni/sudo rm -rf /var/lib/cni/containerd 사..
K8S -kubespray KUBERNETES[ KUBERNETES ]Container를 자동으로 배포하고 관리해 주는 플랫폼많은 서버에 Container가 돌아가는데, 이걸 자동으로 설치하고 실행 상태를 관리해 주는 시스템Docker Container를 직접 띄우면 발생하는 문제를 해결해 줌여러 대 Server에 Container 배포하려면 일일이 명령어 입력하나가 다운되면 자동 재시작이 안 됨트래픽이 많아지면 Container 자동 증가 안 됨​[ KUBERNETES 핵심 구성요소 ]Master NodeCluster 전체를 제어하는 관리자 역할Worker Node실제 Container(Pod)를 실행하는 일꾼PodContainer를 실행하는 최소 단위 (보통 1Pod = 1 Container)DelpoymentPod의 생명주기..