월 66,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
프로메테우스
안녕하세요. 강의 잘 들었습니다. 여쭤보고 싶은 것은 1. PV는 왜 Prometheus yaml 파일에 적어주고 PVC는 왜 Grafana yaml 파일에 각자 따로 적어주나요? PVC는 PV와 같이 있어야 할 것 같은데 따로 적어주는 이유가 궁금합니다. 2. 타겟을 따로 exporter로 지정해주고 싶은데 values-prometheus.yaml 파일이 프로메테우스 설정 파일이라고 봐도 되나요? 아니면 따로 야믈 파일을 생성해서 프로메테우스 타겟을 설정해주어야 하나요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
워커노드 join 실패
마스터 노드에서는 아래와 같이 kubeadm init 명령어가 잘 성공 했는데 NAME STATUS ROLES AGE VERSION master0 Ready control-plane,master 6m33s v1.22.2 워커노드에서는 아래와 같이 조인이 안되네요 ㅠㅠ 해결방법을 알 수 있을까요? 전에는 됐었는데 한 번 지웠다가 다시 하려니 안되네요 ㅠ.. root@node0:~# kubeadm join 192.168.52.128:6443 --token 9frfjm.xc4s3qp1a8k6qc9c --discovery-token-ca-cert-hash sha256:f944e91ef3b4e47c9e08e62d50c7a066279c86c6e0c0250ce6e8013af1016d8b [preflight] Running pre-flight checks [preflight] Reading configuration from the cluster... [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml' [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" [kubelet-start] Starting the kubelet [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... [kubelet-check] Initial timeout of 40s passed. error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition To see the stack trace of this error execute with --v=5 or higher root@node0:~# journalctl -xeu kubelet Apr 10 16:22:34 node0 kubelet[3601]: E0410 16:22:34.951232 3601 kubelet_node_status.go:93] "Unable to register node with API server" err="Unauthorized" no> Apr 10 16:22:35 node0 kubelet[3601]: E0410 16:22:35.051636 3601 kubelet.go:2407] "Error getting node" err="node \"node0\" not found" Apr 10 16:22:35 node0 kubelet[3601]: E0410 16:22:35.171824 3601 kubelet.go:2407] "Error getting node" err="node \"node0\" not found"
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
Dockerfile의 RUN apt-get -y update에서 에러가 발생합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
Nginx 및 Ingress yaml 작성에 대해 못찾는 분들을 위해 남깁니다.
[nginx ingress install] - nginx 다운로드 git clone https://github.com/kubernetes/ingress-nginx/ - nginx 배포 kubectl apply -k `pwd`/ingress-nginx/deploy/static/provider/baremetal - 배포 확인 kubectl get all -n ingress-nginx [예제 deploy] - Deploy pod 배포 kubectl create deployment http-go --image=gasbugs/http-go:ingress - service 생성 kubectl expose deploy http-go --port=80 --target-port=8080 [Ingress rule] - Ingress Rule 작성
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
RBAC권한 부여 관련 질문입니다.
강의에서 보여주실때는 kubectl config set-context 로 gasbugs@kuberentes와 kubernetes@admin을 자유자제로 오고가고 있습니다. 실제로 사용자에게 gasbugs@kuberentes context 또는 gasbugs라는 User는 어떻게 할당을 해주고 사용하게 해야하나요? 유저를 만들고 권한을 할당하는것은 알겠는데 어떻게 줄지를(전달할지) 모르겠습니다. 예를들어 새로운 개발자가 입사하였을때 제가 gasbugs@kuberentes context를 만들었지만, 이걸 어떻게 전달을 해줄지를 모르겠습니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
강의 듣다가 쿠버네티스 명칭에 대해서 궁금한점이 생겼습니다.
쿠버네티스에서 오브젝트 리소스 컴포넌트 얘네들의 정확한 설명이 궁금합니다. RBAC에서도 pod을 리소스 라고 부르는데요. 리소스라는게 cpu나 Ram도 지칭하지 않나요?여기저기 섞여서 불리다 보니 혼동이 옵니다. 그리고 컴포넌트랑 오브젝트는 아직도 이해가 안되구요.. 혹시 설명을 부탁드려도 될까요? 또는 명확한 설명이있는 링크라도 부탁드립니다..
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
TLS인증서를 활용한 통신 이해 관련 질문입니다.
안녕하세요? TLS를 보는중에 궁금한점이 있어서 글을 적어봅니다. 말씀하신 순서중에 궁금한것을 적어보았습니다. 번호는 순서이며, () 괄호 안이 질문입니다. 1.공개키는 따로 안만들고 개인키만 만들고나서, 공개키가 아니라 공개키 같은 이라고 CSR을 말씀해주셨는데, 공개키를 역할을 하지만 거기서 +@을 하는 파일이라고 이해하면 될까요? <개인키, CSR이 서로 암,복호화가 가능한> 또는 CA에게 받는 CRT 또는 CER 파일이 공개키가 되는건가요? 그렇다면 CA가 CSR을 보고 공개키를 만들어 주는건가요? CSR만들때 개인키를 넣어서 만드는건가요? 서로 어떤게 비대칭되는 키인지 궁금합니다. 2. 만약 개인키를 CA에게 보내는것이라면, 개인키는 자기 자신만 가지고 있어야 하고 다른곳에 절대 보내면 안된다고 이해하고 있었습니다. CA는 믿어도 된다고 생각하고 보내는건가요? 3. 서버가 CA에게 개인키를 보내면, 공개키를 만들어서 보내준다. ( 이 부분에서 공개키와, 인증서는 어떤식으로 오게되나요? crt 또는 cer 파일명으로 된 인증서에 공개키가 포함되어 있는건가요?) 4.저기서 sessionkey가 대칭키인건가요? 5. 클라이언트가 개인키와 공개키를 가지고 있다고 하셨는데, 저는 그것을 만든적이 없습니다. 저의 개인키와 공개키는 언제 누가 만든건가요? 사이트를 열몇개를 찾아봐도 제대로 된 명확한 깨달음이 안얻어지네요.. 대부분 self 인증만 하는것이 대부분이고... 읽어주셔서 감사합니다..
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ingress 설치 pending
git clone https://github.com/kubernetes/ingress-nginx/ kubectl apply -k `pwd`/ingress-nginx/deploy/static/provider/baremetal/ kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io ingress-nginx-admission 위의 명령어를 입력하고 상태를 체크해봤는데 아래와 같이 나오네요 root@master0:~# kubectl get all -n ingress-nginx NAME READY STATUS RESTARTS AGE pod/ingress-nginx-admission-create--1-2fng4 0/1 Pending 0 7m30s pod/ingress-nginx-admission-patch--1-vpx6g 0/1 Pending 0 7m30s pod/ingress-nginx-controller-547f579dc-x48hn 0/1 Pending 0 7m30s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ingress-nginx-controller NodePort 10.110.189.114 <none> 80:31698/TCP,443:32187/TCP 7m30s service/ingress-nginx-controller-admission ClusterIP 10.110.29.111 <none> 443/TCP 7m30s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/ingress-nginx-controller 0/1 1 0 7m30s NAME DESIRED CURRENT READY AGE replicaset.apps/ingress-nginx-controller-547f579dc 1 1 0 7m30s NAME COMPLETIONS DURATION AGE job.batch/ingress-nginx-admission-create 0/1 7m30s 7m30s job.batch/ingress-nginx-admission-patch 0/1 7m30s 7m30s root@master0:~# kubectl describe deploy -n ingress-nginx Name: ingress-nginx-controller Namespace: ingress-nginx CreationTimestamp: Sun, 13 Mar 2022 16:39:23 +0000 Labels: app.kubernetes.io/component=controller app.kubernetes.io/instance=ingress-nginx app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=ingress-nginx app.kubernetes.io/part-of=ingress-nginx app.kubernetes.io/version=1.1.2 helm.sh/chart=ingress-nginx-4.0.18 Annotations: deployment.kubernetes.io/revision: 1 Selector: app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx Replicas: 1 desired | 1 updated | 1 total | 0 available | 1 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template: Labels: app.kubernetes.io/component=controller app.kubernetes.io/instance=ingress-nginx app.kubernetes.io/name=ingress-nginx Service Account: ingress-nginx Containers: controller: Image: k8s.gcr.io/ingress-nginx/controller:v1.1.2@sha256:28b11ce69e57843de44e3db6413e98d09de0f6688e33d4bd384002a44f78405c Ports: 80/TCP, 443/TCP, 8443/TCP Host Ports: 0/TCP, 0/TCP, 0/TCP Args: /nginx-ingress-controller --election-id=ingress-controller-leader --controller-class=k8s.io/ingress-nginx --ingress-class=nginx --configmap=$(POD_NAMESPACE)/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key Requests: cpu: 100m memory: 90Mi Liveness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=5 Readiness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=3 Environment: POD_NAME: (v1:metadata.name) POD_NAMESPACE: (v1:metadata.namespace) LD_PRELOAD: /usr/local/lib/libmimalloc.so Mounts: /usr/local/certificates/ from webhook-cert (ro) Volumes: webhook-cert: Type: Secret (a volume populated by a Secret) SecretName: ingress-nginx-admission Optional: false Conditions: Type Status Reason ---- ------ ------ Available False MinimumReplicasUnavailable Progressing False ProgressDeadlineExceeded OldReplicaSets: <none> NewReplicaSet: ingress-nginx-controller-547f579dc (1/1 replicas created) Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ScalingReplicaSet 10m deployment-controller Scaled up replica set ingress-nginx-controller-547f579dc to 1 어떻게 처리해야 할 지 잘 모르겠네요 ㅠ..
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
expose와 port-forward의 차이
안녕하세요 강사님 이전 강의에서는 service를 생성, expose 해서 pod를 외부에서 접근가능하게 했는데 이 강의에서는 port-forwad를 이용하더라구요. port-forward는 이 예제에서 간단히 테스트 하기 위해서 사용한 것일까요? 실제 운영에서는 service를 사용하는게 맞나용?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
부트스트랩?
kubeadm: 클러스터를 부트스트랩하는 명령이다 이라는 설명이 있는데, 여기서 부트스트랩이라는 건 어떤 의미? 인지 궁금합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
docker run -d와 docker start --detach-keys string 랑 같은 건가요?
docker run에 background 실행이 -d 옵션이 있는데 docker start 나 혹은 docker create 시에 해당 옵션이 없어보여서, 가장 비슷하게 보이는게 docker start에 --detach-keys string 이란게 보여서 같은건지 궁금해서요
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubectl create 시 apiVersion 이슈가 발생하는 경우 해결방법이 있을까요?
kubectl create 시 apiVersion 이슈가 발생하는 경우 해결방법이 있을까요? 현재 ubuntu 18.04 3대를 구성해 마스터1대, 워커2대 클러스터 구성을 완료하고, weave 설치 완료해서 Ready 상태에 있습니다. 계속해서 강의 설명주신대로 vscode 를 설치하고, yaml 파일을 영상과 같이 작성 후 배포하려하니 Kubectl command failed: error: error validating "/home/azureuser/yaml/go-http-pod.yaml": error validating data: apiVersion not set; if you choose to ignore these errors, turn validation off with --validate=false 에러가 발생합니다. 구글링을 해보니 kubectl api-versions 등록 여부를 확인하란 내용이 있어서 따라해보았으나 'v1' 이 목록에 정상 출력 됩니다. 정상 배포 진행을 위해 달리 해볼 수 있는게 있을까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ingress rule이 적용이 안되요
yaml 상에 문제가 없어 보입니다만 강사님과 결과가 반대로 나와요. root@http-go-84df7cf8df-8hm9g:/usr/src/app# curl 127.0.0.1:8080 Welcome! http-go-84df7cf8df-8hm9g root@http-go-84df7cf8df-8hm9g:/usr/src/app# curl 127.0.0.1:8080/welcome/test 404 page not found user01@master0:~/yaml$ curl 127.0.0.1:30914 <html> <head><title>404 Not Found</title></head> <body> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html> user01@master0:~/yaml$ curl 127.0.0.1:30914/welcome/test 404 page not found
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
record 플래그 사용 관련 질문드립니다.
사용 시에 record has been deprecated, record will be removed in the future 라는 문구가 나오는데요. PR 찾아보니 어쩌면 영영 사라지지 않을 것 같다는 느낌도 들긴하는데, 대안으로 audit logging을 사용하라는 내용이 있더라구요. 혹시 업데이트 예정이실지 궁금해서 질문 남겨놓습니다~ + 향후 공부하실 분들도 내용 알 수 있도록.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
Statefullset 실습 질문입니다.
안녕하세요. 실습을 따라하다 문제가 생겨 질문 남깁니다. https://kubernetes.io/ko/docs/concepts/workloads/controllers/statefulset/ 참고해서, apiVersion: v1 kind: Service metadata: name: nginx labels: app: nginx spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx # .spec.template.metadata.labels 와 일치해야 한다 serviceName: "nginx" replicas: 3 # 기본값은 1 minReadySeconds: 10 # 기본값은 0 template: metadata: labels: app: nginx # .spec.selector.matchLabels 와 일치해야 한다 spec: terminationGracePeriodSeconds: 10 containers: - name: nginx image: k8s.gcr.io/nginx-slim:0.8 ports: - containerPort: 80 name: web volumeMounts: - name: www mountPath: /usr/share/nginx/html volumeClaimTemplates: - metadata: name: www spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "my-storage-class" resources: requests: storage: 1Gi 다음과 같이 작성해서 create 했는데, $ kubectl describe pvc Name: www-web-0 Namespace: default StorageClass: Status: Pending Volume: Labels: app=nginx Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Used By: web-0 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal FailedBinding 4m23s (x242 over 64m) persistentvolume-controller no persistent volumes available for this claim and no storage class is set describe pvc에서 Failed가 나옵니다.. 에러 메세지를 찾아봐서 StorageClassName을 = "" 으로 수정해봤는데 같은 에러 메세지가 나오네요. 어디를 확인해봐야할까요? 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
실습 이미지 관련
안녕하세요. 제가 사정상 VMWare는 사용할 수 없고 VirtualBox만 사용할 수 있는데, 혹시 VMWare 를 바탕으로 하는 Ubuntu-20.04 대신에 VirtualBox 를 바탕으로 하는 Ubuntu-18.04 를 이용해서 실습을 따라가도 될지 문의드립니다. 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
CNI weave 설치가 안됩니다. ㅠㅠ 여러번 설치해봣는데 안되네요
kubeadm init 한후에 weave넷을 설치했더니 저 상태에서 Ready가 안되고 있습니다 ㅠ ip는 회사 vsphere 가상서버를 이용중이라 ip는 다르고 재설치를 여러번 해봐도 저기서 진행이 되질 않네요 무엇이 문제인가요 ?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
--record=true 옵션에 대해 궁금합니다
rollout 관련 --record옵션 사용시 "Flag --record has been deprecated, --record will be removed in the future" 라는 알람이 보입니다 해당옵션을 더이상 사용하진 않는다는 내용같은데 검색해봐도 히스토리를 남기기위해 해당 옵션을 대체하는 방법에 대한 내용은 찾지 못하였습니다. 질문내용에 대한 확인 부탁드립니다 감사합니다 질문1. --record은 앞으로 더이상 사용되지 않는것인가? 질문2. 해당 옵션이 사용중지된다면 rollout에서 히스토리를 쌓고 보려고 할때 어떻게 해야하는가?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
너무 양질의 강의에 감사하다는 말씀드리고 싶습니다.
강사님의 재능기부 강의를 듣고 막막한 도커+쿠버에 많은 도움을 얻고 있습니다. 감사합니다. 현재 클라우드팀에서 근무를 하고있는 수강생입니다. 저도 비전공이지만 하반기에 관련분야로 대학원 진학 생각도 있고 실력을 키워서 미취학아동들에게 재능기부가 꿈인 사람입니다. devops + MLops를 꿈꾸고 있는데요 클라우드일을 하면서 공부계획을 세우는데 막막해서 개인적으로 진로를 여쭙고 싶습니다. 질문 Q.) 1. 실무에서 자주쓰는 devops 업무들만 엮어서 강의로 만들 생각은 없으신지 여쭙고 싶습니다. 2. 비전공자라 아직 필수 선수지식인 자료구조 알고리즘 강의도 들어보지 못했습니다. 클라우드팀에서 근무를 하고있지만 대학원 진로는 블록체인으로 잡으려 합니다. 공부 테크트리 알려주실 내용이 있으시면 알려주시면 감사하겠습니다. 실력을 일취월장하게 키워서 필드에서 선배님들 만나뵐 수 있엇으면 좋겠습니다. 감사합니다. 남은 연휴 즐겁게 보내세요~!^^
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
죄송하지만 실습환경이 어떻게 구성된것인지 모르겠습니다.
죄송하지만 해당 수업에서 사용하시는 server1@master 가 어떻게 구성된지 모르겠습니다. kubernetes 환경이 구축되어 있는 것 같은데 저는 Oracle VM VirtualBox를 통해 실습환경을 어디에서 구축하였는지 잘 모르겠습니다... 기초가 너무없어서 허접한 질문드려서 죄송합니다~ 혹시 해당 강의 1분 47초부터 그대로 따라하기 위해서는 몇번째 강의를 보면서 환경을 구축해야하는지요?