kubernetes
-
노드 포트 실습kubernetes 2023. 11. 1. 15:01
문제1) consol/tomcat-7.0 이미지를 사용해 톰캣 디플로이먼트 배포하기 문제2) tomcat을 너드포트로 서비스하기(30003번 포트 사용) 문제3) tomcat을 로드밸런스로 서비스하기(80번 포트 사용) apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: tomcat name: tomcat spec: replicas: 10 selector: matchLabels: app: tomcat strategy: {} template: metadata: creationTimestamp: null labels: app: tomcat spec: containers: - image: consol/tomcat..
-
서비스 노드 포트kubernetes 2023. 11. 1. 13:51
nodeport: node자체에 포트에 열고 이 포트로 들어오는 트래픽을 pod로 리다이렉션 클라우드 환경에서는 클라우드에서 제공하는 loadbalancer를 앞에 두고 nodeport 구현 nodeport는 노드의 자체 포트를 사용해서 pod로 redirection loadbalancer는 외부 게이트웨이를 사용해서 노드포트로 redirection ingress: 외부에 별도의 리소를 만들어주고 이 리소스에 요청이 오면, 하나의 ip로 다수의 서비스 제공 (도메인 네임) loadbalancer는 L4 개념, ingress는 L7 개념 ** L2 sw, L3 sw, L4 sw, L7 sw apiVersion: v1 kind: Service metadata: name: http-go-svc spec: ty..
-
-
서비스 endpointskubernetes 2023. 10. 31. 16:45
apiVersion: v1 kind: Service metadata: name: my-service spec: ports: - protocol: TCP port: 80 targetPort: 80 --- apiVersion: v1 kind: Endpoints metadata: name: my-service subsets: - addresses: - ip: 223.130.195.200 - ip: 199.201.110.204 ports: - port: 80 kubectl run http-go --image=qkrwo8520/http-go kubectl exec -it http-go -- bash curl my-service http-go에서 my-service로 접속 시 malware 사이트 확인 가능 kub..
-
서비스kubernetes 2023. 10. 31. 16:00
cluster ip : 내부 통신용, 내부 자원 공유 - default node port : 30000-32767 외부 서비스 가능 loadbalancer metallb 파드 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법 쿠버네티스를 사용하면 익숙하지 않은 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드-밸런스를 수행할 수 있다. apiVersion: v1 kind: Pod metadata: name: http-go labels: app: http-go spec: containers: - name: http-go image: qkrwo8520/h..
-
버번패치 실습kubernetes 2023. 10. 30. 17:05
apiVersion: apps/v1 kind: Deployment metadata: name: mongo-deployment spec: replicas: 10 strategy: type: RollingUpdate rollingUpdate: maxSurge: 50% maxUnavailable: 50% selector: matchLabels: app: mongo template: metadata: labels: app: mongo spec: containers: - name: mongo image: mongo:4.2 imagePullSecrets: - name: test 다음 mongo 이미지를 사용하여 업데이트와 롤백을 실행하라. 1. 모든 revision 내용은 기록돼야 한다. 2. mongo:4.2 이..
-
버전패치kubernetes 2023. 10. 30. 16:55
apiVersion: apps/v1 kind: Deployment metadata: name: http-go labels: app: http-go spec: replicas: 3 selector: matchLabels: app: http-go template: metadata: labels: app: http-go spec: containers: - name: http-go image: qkrwo8520/http-go:v1 ports: - containerPort: 8080 imagePullSecrets: - name: secretdoc kubectl create -f deployment.yml --record=true -record=true: 이 옵션은 리소스가 생성되거나 업데이트될 때, 이벤트 기록을..
-
디플로이먼트kubernetes 2023. 10. 30. 14:07
1. jenkins 디플로이먼트를 deploy-jenkins를 생성하라. 2. jenkins 디플로이먼트로 배포되는 앱을 app: jenkins-test로 레이블링하라. 3. 디플로이먼트로 배포된 파드를 하나 삭제하고 이후 생성되는 파드를 관찰하라. 4. 새로 생성된 파드의 레이블을 바꾸어 Deployment의 관리 영역에서 벗어나게 하라. 5. Scale 명령을 사용해 레플리카 수를 5개로 정의한다. 6. edit 기능을 사용하여 10로 스케일아웃하라 deployment >> replicaset >> pod 애플리케이션을 다운타임 없이 업데이트 apiVersion: apps/v1 kind: Deployment metadata: name: deploy-jenkins labels: app: jenkins-..