목록K8s (16)
삽더하기실수
#오류 내용coredns pending#해결방법[ Maseter ]kubeadm init --apiserver-advertise-address=[마스터IP] --pod-network-cidr=192.168.0.0/16kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.2/manifests/tigera-operator.yamlkubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.2/manifests/custom-resources.yamlservice docker restart kubectl get nodes -o wide해당 pen..
#오류 내용 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2024-03-14T00:30:21Z" level=fatal msg="validate service connection: validate CRI v1 runtime API for endpoint \"unix:///var/run/co ntainerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtim..
SVC가 없으면 존재 할 수 없다. 아키텍쳐에 맞게 실제로 가야하는 경로에 대한 라우팅 정보, 정보에 대한 경로를 제공을 한다. 레이블과 애너테이션의 차이 레이블 pod, svc, ing 사람이 쓰려고 만드는 것 애너테이션 pod, svc, ing 시스템이 인지하려고 만드는 것 #deploy-hn.yaml apiVersion: apps/v1 kind: Deployment metadata: name: deploy-hn labels: app: deploy-hn spec: replicas: 3 selector: matchLabels: app: deploy-hn template: metadata: labels: app: deploy-hn spec: containers: - name: chk-hn image: s..
클러스터 IP란 파드와 파드 간의 내부 연결을 위해 사용한다 헤드리스란 클러스테 IP를 None 으로 설정하여 도메인으로 연결이 가능하도록 하는것 그렇다면 왜 헤드리스를 사용하는가? 클러스 ip를 사용하는 것 자체가 내부에서의 연결을 위한것이다. 그러므로 pod의 도메인을 A레코드 처럼 사용하면 해당 위치를 다른 값으로 받을 수 있어 각각의 다른 화면을 쓰기 위해 사용한다. clusterip.yaml apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx labels: app: deploy-nginx spec: replicas: 3 selector: matchLabels: app: deploy-nginx template: metadata: l..
Loadbalancer 이란 별도의 외부 로드 밸런서를 제공하는 클라우드(AWS, Azure, GCP 등) 환경을 고려하여, 해당 로드 밸런서를 클러스터의 서비스로 프로비저닝할 수 있는 LoadBalancer 유형이 제공된다. 위 산진과 같이 80번으로 들어올경우 80번의 파드를 불러들이는데 사용한다(여기선 로드밸런싱의 역할 보단 포트를 대신해서 사용한 느낌으로 이해한다) loadbalancer-11.yaml apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx labels: app: deploy-nginx spec: replicas: 3 selector: matchLabels: app: deploy-nginx template: metada..
노드 포트란? 모든 워커 노드의 특정 포트를 열고 모든 요청을 노드포트 서비스로 전달 - nodeport.yaml apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx labels: app: deploy-nginx spec: replicas: 3 selector: matchLabels: app: deploy-nginx template: metadata: labels: app: deploy-nginx spec: containers: - name: nginx image: nginx --- apiVersion: v1 kind: Service metadata: name: np-nginx spec: selector: app: deploy-nginx ..
ExternalName 이란 클러스터 내부의 Pod가 외부 서비스에서 도메인 이름을 통해 접근하는데 사용된다. 즉. 외부에서 사용자가 접근 하는 방법인 도메인이라기 보다는 개발자나 관리자가 접근하기 쉽도록 하는 도메인이라고 생각한다. ext-url-1.yml apiversion: v1 kind: Service metadata: name: ex-url-1 namespace: default sepc: type: ExternalName externalName: sysnet4admin.github.io ext-url-2.yml apiversion: v1 kind: Service metatdata: name: ex-url-2 namespace: default sepc: type: ExternalName exter..