본문 바로가기

Container

[Azure] 쇼핑몰 만들기 실습 Web과 WAS의 역할을 하는 mall-vm2 만들기 가상머신 예시]> 보통 일반적으로 80포트 외의 포트는 inbound  방식으로 추가하는 형태로 진행한다. SSH를 열어두면 하기와 같은 경고가 발생한다.You have set SSH port(s) open to the internet.  This is only recommended for testing.  If you want to change this setting, go back to Basics tab.  https://github.com/jaehwachung/cloud_computing/blob/main/knou_mall/web_server/Cloud-init-> 해당 github에서 init yaml copy 붙여넣기 (package, wr.. 더보기
[Azure] 키 자격모음, PostgresSQL 서버 관리 - HSM, KVM: 암호화 키를 어플리케이션에 저장할 때 노출될 위험을 줄이기 위한 장치어플리케이션에 저장하지 않고 그때그때 쓸 수 있도록 해주는 것이 키 자격 증명 모음Key vaults 자격 증명 만들기허가받은 사람만 접근 가능하도록 제한하는 기능 Azure  역할 기반 액세스 제어를 누른다.참고) 자격 증명 모음 액세스 정책(vault access policy)을 누르면 각 사용자에 대해서 어떠한 정책을 사용할 수 있는지 확인할 수 있다. 네트워킹 보안을 위해 선택한 네트워크만 접속할 수 있도록 설정한다.추가한 후에 신뢰할 수 있는 네트워크만 들어올 수 있도록 check한다.Tag는 굳이 설정할 필요 없고, 유효성 검사해준 뒤 배포한다.그런데 리소스를 들어가보면 RBAC에서 작업을 허용하지 않는다.. 더보기
[K8S] TS - Worker Node Failure certified-kubernetes-administrator-with-practice-tests 301강참고: https://kubernetes.io/docs/reference/node/node-status/ ⭐Woker Node에는 docker 데몬(runtime)과 kubelet (→ kube-proxy, cni)이 반드시 실행중이어야 한다.이 두개 중 하나라도 실행 중이지 않다면 worker node는 Not Ready 상태가 된다.Cluster info 확인controlplane:~$ kubectl cluster-info Kubernetes control plane is running at https://172.30.1.2:6443CoreDNS is running at https://17.. 더보기
[K8S] TS - Control Plane Failure 📑 Deployment를 통해서 ReplicaSet을 배포시켰는데 제대로 작동을 안하면 or 확장이 되지 않는다면 kube-controller-manager를 먼저 확인해야 한다. 📑 특정 control-plane에 문제가 있으면 /etc/kubernetes/manifest에서 yaml file을 확인해야한다.  certified-kubernetes-administrator-with-practice-tests 298강Node 상태 확인kubectl get podskubectl get nodesControlplane Pods 및 Services 확인$ kubectl get pods -n kube-system$ service kube-apiserver status$ service kube-controll.. 더보기
[K8S] TS - Application Failure 🛠️Pod가 계속 Waiting 상태인 경우 → worker node에 스케줄링은 되었지만 해당 노드에서 실행할 수 없음을 의미한다. (일반적으로 이미지 풀링(pulling)에 실패) 🛠️ Pod는 Running 상태이지만 해야 할 일을 하지 않고 있을 경우→ 명령어 오타 확인# --validate 옵션으로 yaml 확인 가능$ kubectl apply --validate -f mypod.yaml🛠️ Service 디버깅 (svc는 파드 집합에 대한 로드 밸런싱 기능을 제공)→ Service의 Endpoint 존재하는지 확인 (apiserver는 endpoints 리소스를 생성하고 available 상태로 만든다)→ Endpoint 수가 서비스에 속하는 파드 수와 일치하는 지 확인→ Service에.. 더보기
[K8S] Multiple Container 같은 lifecycle 을 공유하는 Multiple container pods.같은 Network, Storage Volume을 공유한다.   # command 이용해서 만들기controlplane ~ ➜ kubectl run yellow --image=busybox --dry-run=client -o yaml > yellow.yaml# yellow.yaml 수정 controlplane ~ ➜ cat yellow.yaml apiVersion: v1kind: Podmetadata: creationTimestamp: null labels: run: yellow name: yellowspec: containers: - image: busybox name: lemon resources.. 더보기
[K8S] Cluster Upgrade Kubernetes Packageskubeadm: 클러스터를 부트스트랩하는 명령kubelet: Pod와 Container 시작과 같은 작업을 수행하는 컴포넌트kubectl: 클러스터와 통신하기 위한 커맨드 라인 유틸리controlplane ~ ➜ k get nodesNAME STATUS ROLES AGE VERSIONcontrolplane Ready control-plane 61m v1.28.0node01 Ready 61m v1.28.0v1.11.3v1: major version11: minor version-- Features, Functionalities (monthly releases)3: patc.. 더보기
[K8S] Logging & Monitoring Logging기본 로그 관리  - kubectl logsPod 내 모든 컨테이너의 로그가 조회 가능하지만 Pod가 삭제되면 해당 로그도 삭제된다.# 특정 컨테이너 로그 조회$ kubectl logs my-pod -c my-container# 모든 컨테이너의 로그 조회$ kubectl logs my-pod --all-contaiers=true# 실시간 log stream 확인 (-f)$ kubectl logs -f my-pod Multiple container의 경우 특정 container name을 명시$ kubectl logs -f $ kubectl get podsNAME READY STATUS RESTARTS AGEwebapp-2 2/2 Running 0 .. 더보기