도커 볼륨이 Host OS의 특정 공간에 저장되어 있다하면, 실제 Host OS 자체가 삭제되면 영속성도 제거가 될 거라고 생각을 하고 있습니다. 그렇다면 현업에서 AWS 인스턴스 등을 이용하여 서비스를 하게 될 때 영속성을 저장하는 방법이 따로 존재하는 걸까요? 영속성을 관리해주는 인스턴스나 서비스를 이용하여 더 철저하게 보관하는 편일까요?
프로메테우스 하고 export 간 정상 작동하고있습니다(db001 만 올렸어요) 그런데 MySQL_Overview.json 대쉬보드만 생성을 하면 Temlating Failed to upgrade legacy queries 에러가 발생하고 구글링 하면 그라파나 버전 문제 떄문이라고 하는데.. 현재 그라파나 최신버전 입니다. 혹시 몰라서 다른 json 대쉬보드로 해봐도 그대로네요. 아무리 구글링 해봐도 잘 모르겠네요.. <해결> 강사님께서 강의 하실때 올려주신 json 템플릿과 현재 그라파나가 호환이 안되서 발생했던 에러입니다. grafana-dashboards/dashboards/MySQL at main · percona/grafana-dashboards · GitHub 이 페이지에서 최신 json으로 적용하니까 그라파나에서 정상 작동 하네요!
현재 appspec.yml을 보면 S3에 저장한 모든 파일을 destination에 저장하도록 되어있습니다. files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ubuntu/spring-gift-point 그런데 push를 여러개 진행하면 tar.gz파일도 여러개 생기게되는데 이러면 S3의 있는 모든 tar.gz파일을 가져오게되는건가요? deploy.yml에서 파일 압축을 할 때 yml 파일과 scripts폴더를 같이 압축하는 이유가 궁금합니다. 두 파일 모두 project.jar 파일에 들어있기 때문에 project.jar파일만 압축해도 상관없지않나요? - name: 압축하기 run: tar -czvf $GITHUB_SHA.tar.gz project.jar appspec.yml scripts codedeploy를 활용한 무중단 배포나 로드 밸런싱 강의를 할 수 있다고 하셨는데 따로 강의를 내실 예정이 있으신지 궁금합니다!
안녕하세요! CentOS의 EOS가 종료됨에 따라 레포지토리가 더이상 사용할 수 없게 되어서 docker build -t mysql57.0.0 ./ 명령어 시에 아래와 같은 에러가 발생합니다. $ docker build -t mysql57.0.0 ./ ... ... => ERROR [ 5/12] RUN yum install -y perl.x86_64 libaio.x86_64 numactl-libs.x86_64 net-tools.x86_64 sudo.x86_64 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was 0.572 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 이는 레포지토리가 더이상 지원하지 않아서 yum install -y 할 때 나타나는 에러입니다. 그래서 /etc/yum.repos.d/CentOS-Base.repo 의 내용을 아래와 같이 변경해야합니다. [base] name=CentOS-$releasever - Base # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/os/x86_64 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/updates/x86_64 gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/extras/x86_64 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus # original #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ # new baseurl=http://centos.mirror.cdnetworks.com/7/centosplus/x86_64 gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 그리고 CentOS-Base.repo 파일을 Dockerfile에 추가하였습니다 FROM centos:7 COPY ["Percona-Server-client-57-5.7.30-33.1.el7.x86_64.rpm",\ "Percona-Server-server-57-5.7.30-33.1.el7.x86_64.rpm", \ "Percona-Server-shared-57-5.7.30-33.1.el7.x86_64.rpm", \ "Percona-Server-shared-compat-57-5.7.30-33.1.el7.x86_64.rpm", \ "node_exporter-1.0.1.linux-amd64.tar.gz", \ "mysqld_exporter-0.12.1.linux-amd64.tar.gz", \ "start_node_exporter.sh", \ "start_mysqld_exporter.sh", \ ".my.cnf","/tmp/"] COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo USER root RUN groupadd -g 1001 mysql RUN useradd -u 1001 -r -g 1001 mysql RUN yum install -y perl.x86_64 \ libaio.x86_64 \ numactl-libs.x86_64 \ net-tools.x86_64 \ sudo.x86_64 RUN yum downgrade -y openssl-libs-1.0.2k-16.el7 -> 다운그레이드! ... ... ... COPY CentOS-Base.repo /etc/you.repos.d/CentOS-Base.repo를 추가하고 나서 docker build -t mysql57.0.0 ./ 실행하니까 정상적으로 잘 되네요! 그리고 이유는 모르겠으나 yum install -y penssl-libs-1.0.2k-16.el7을 하면 패키지 버전 충돌때문에 빌드 시 에러가 발생합니다. yum install -y penssl-libs-1.0.2k-16.el7를 제거하고 yum downgrade -y openssl-libs-1.0.2k-16.el7를 추가하니까 빌드가 잘됩니다.. 이유는 레포지토리가 변경되면서 뭔가.. 그런거 같기도하고 잘모르겠네요 감사합니다.!
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
여기서 experience를 모델에서 못찾아서?? experience.startYearMonth 등 인식이 안되는것 같습니다. cannot resolve라고 뜹니다. 혹시 제가 컨트롤러라든지 DTO라든지 잘못적고 놓쳤나보다 하고 봤는데 왜 안되는지 못찾겠습니다. 한번 확인 가능할까요? 컨트롤러 서비스 DTO 데이터 초기화 이렇게 타임리프 적용이 안될 떄는 어떻게 찾는게 좋은 방법일까요?
DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
Prometheus 설명 부분에서요, 컨테이너 상태에 대한 Metrics 수집 부분에 대해서 질문있습니다. 실무에서 컨테이너 환경에서 애플리케이션을 개발한적은 없고, Prometheus, Grafana, Loki, Promtail 정도만 컨테이너 기반에서 로그 수집하는 정도로만 활용해봤는데요, 스프링 부트 환경에 액츄에이터, 마이크로미터 라이브러리 구성해서 N개의 서버(운영, 개발, 스테이징 서버 등)에서 프로파일에 따른 로그를 수집하고, Promtail도 각 서버에 설치하고, 별도의 모니터링 서버에 컨테이너 기반으로 Prometheus, Grafana, Loki 셋팅해서 사용하고 있습니다.(이렇게 구성한 아키텍쳐?가 베스트 프랙티스인지는 잘모르겠네요) 그런데 해당 강의를 듣고 생각한게 컨테이너 기반의 애플리케이션을 올릴 경우 추가적으로 컨테이너 상태에 대한 메트릭 수집이 있을 것 같은데요, 컨테이너 실행/중지 같은 상태 제외하면 어떤 유의미한 데이터를 수집할 수 있는지 감이 안오는데, 어떤것들이 있을까요? CPU나 메모리 같은 리소스 정도가 있을꺼 같고.. 추가적으로 컨테이너 환경의 애플리케이션을 구성한다면 MSA 환경이 아니더라도 로그 정보를 별도의 로그 서버에서 관리하는게 일반적인가요? 이 강의를 듣기전에는 애플리케이션 서버가 당연히 로그도 수집하는거로 생각해서 Promtail도 각 로그파일이 있는 서버에 다 설치했거든요. 이전 섹션에서 로그를 별도 컨테이너에서 관리하는거 보고 궁금증이 생겼습니다.
이 강의로 도커에 처음 입문하게 되었습니다. 강의를 듣던 중 도커가 이런 식으로 작동하는 것이구나에 대해 이해해 가고 있던 와중 섹션 2 이미지 강의에서 보여주신 수업자료 화면에서 궁금한 점이 생겨 질문드립니다. 아직 제가 강의로만 도커를 입문해서 경험이 없어서 그런데 하이퍼바이저 가상화에서는 하이퍼바이저가 서로 다른 os (호스트 os 와 게스트 os) 를 조율해서 자원을 사용할 수 있도록 한다고 하셨는데 컨테이너 기술의 경우 무조건 호스트 os 와 같은 os 를 가진 이미지 만을 사용해야 하는 것인가요? 필요에 의해 다른 os를 가진 이미지를 사용하는 일은 없는 것인지 만약 있다면 서로 다른 os 간의 조율은 어떻게 되는 것인지 궁금합니다
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://www.inflearn.com/blogs/1719 ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://www.inflearn.com/questions/992407/comment/281901 ) [질문 하기] 7.2 강의 앤써블 설치하는데 앤써블이 뭐고 왜 사용하는건가요?
DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
안녕하세요. syslog 관련해서 질문드립니다. Container Logging System 사용 ② 섹션에서 syslog-nm 컨테이너(서버)에 logback 설정에 appender name="SYSLOG" 는 백엔드의 logback 을 이용해 다른 서버에서 로그를 관리하는 의미이고, 이전 섹션에서 컨테이너 실행시 --log-driver=syslog 는 로그를 컨테이너 로그뿐만 아니라 전반적인 로그를 통합해서 본다는 의미로써 syslog 명칭만 동일하게 부여했을뿐 목적이 다른게 맞는거죠? 저는 syslog 라는거 자체가 컨테이너 로그 뿐만 아니라 광범위하게 통합해서 관리한다.라고 이해했었는데 해당 강의에서는 단순히 syslog 명칭만 같고 다른 의미로 쓰인거 같아 약간 혼동이 있네요.
안녕하세요 전에 copy-on-write 전략에 대해 질문을 했는데 추가 질문이 있어 질문글을 작성합니다. https://www.inflearn.com/community/questions/1307477/copy-on-write-%EC%A0%84%EB%9E%B5%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 위 질문 글에서 2번 부분에 대해 추가 질문이 있습니다. 읽기/쓰기 레이어에서 index.html 파일을 여러번 수정하는 경우에 대해서 궁금한 부분이 있습니다. 완전 처음에는 얘기 해주신대로 읽기/쓰기는 텅 비어 있는 상태라 읽기 레이어의 index.html 파일을 그대로 복사해 와서 바뀐 부분만 있으면 수정한 후 사용합니다. 여기서 읽기/쓰기 index.html 파일이 한번 더 수정이 되면 읽기 레이어의 index.html 파일을 복사해 와서 기존에 있는 읽기/쓰기 레이어에서의 index.html 파일에서 바뀐 부분만 복사해온 index.html 파일에서 변경한 후 사용하는건가요? 정리하면 읽기/쓰기 index.html 파일을 여러번 수정해도 복사해서 가져오는 부분은 항상 읽기 index.html 파일이고 기존 읽기/쓰기 index.html 파일에서 바뀐 부분을 읽기 레이어에서 가져온 index.html 파일에 넣어서 만드는 건지 궁금합니다.
IAM 설정을 처음해보면서 역할과 정책에 대한 개념이 아직 제대로 이해되지 않은거 같아 질문드립니다. '다른 AWS 리소스에 접근하기 위해선 역할이나 사용자를 생성해 그 안에서 정책을 연결해서 권한을 부여해야한다.' 이렇게 이해했는데 맞을까요? ec2에서는 역할을 만들때 정책을 생성했는데 CodeDeploy에서는 정책을 설정하지 않아도 되는 이유가 궁금합니다. EC2 인스턴스는 역할 연결을 통해, github actions는 엑세스 키를 통해 권한을 부여받는다고 이해했는데 맞을까요?
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
코드를 제가 잘 이해하고 따라가는지 궁금합니다. 질문1 리포지토리에서 활성화가 되어있는 프로젝트만 가져와서 projects에 리스트 형태로 넣어서 다시 ProjectDTO 형태로 넣어서 컨트롤러에서 처리하게끔 해주는건가요? 질문2 여기서 제가 이해한게 맞다면 return 할떄 projects.map 을 왜 이용하는건가요? map은 키와 값으로 이루어 져있는 배열로 알고있는데 ProjectDTO가 키와 값으로 이루어져서 그런건가요? 질문3 ProjectDTO(it) 여기서 말하는 it은 무엇을 의미하는지 알수있나요?
윈도우 10 (ch2/2.3) 환경 배포하여 실습 중에 있습니다. 실습 중 강의 환경인 1.22v과 제 실습환경인 1.30.1 의 차이인지 제가 실습 중에 빠뜨린 부분들이 있는지는 자세히 모르겠으나 강사님과 똑같이 진행 중에 상이한 점이 있어 질문드립니다. root@cp-k8s:~/_Lecture_k8s_learning.kit/ch8/8.3/dev1# kg serviceaccount -n dev1 NAME SECRETS AGE default 0 135m dev1-hoon 0 135m 강의영상과 비교하였 을 떄 serviceaccount 명령어 secrets에 차이가 있었고 이후 실습 명령어에 있어 그림과 같이 유저네임과 패스워드를 묻고 있습니다. 결과적으로 추가해야 되는 명령어가 있는지, username password는 알아내는 방법 등 해결법을 요청드립니다. 감사합니다.