본문 바로가기
728x90
반응형

Cloud Side21

[Azure] AKS Failed to pull image 오류해결 kubectl logs 혹시 pods의 오류가 나서 log를 조회해보니 Failed to pull image와 같은 오류 메시지가 나왔다면 AKS에 ACR로 인증하는 단계를 넣어줘야 한다. 1. ACR 통합 1-1. 새 AKS로 클러스터를 만들 경우 az aks create -n -g --generate-ssh-keys --attach-acr 위 명령어를 입력해주면 된다. 1-2. 기존의 AKS로 통합할 경우 az aks update -n -g --attach-acr 명령어를 통해 통합해주세요. 2. 클러스터에 연결 az aks get-credentials --resource-group --name 클러스터를 연결해주신 다음 kubectl apply -f k8s yaml 파일을 이용해서 배포해주세요. 참.. 2022. 8. 5.
[k8s] AKS exec user process caused: exec format error 오류 해결 kubectl get pods pod들을 상태를 조회해보니 STATUS가 Error일때도 있고 ImagePullBackOff 혹은 CrashLoopBackOff 일때가 있었다. kubectl logs 무슨 일인지 좀 더 상태를 구체적으로 파악하기 위해 log를 조회했다. standard_init_linux.go:228: exec user process caused: exec format error 그랬더니 위와 같은 메시지를 얻었다. 찾아보니 대부분 맥 M1 유저들한테 발생하는 문제라고 한다. docker inspect docker image의 기본 설정을 확인해보자. 그랬더니 정말로 image의 기본 설정이 arm64였다. 인제 해결하는 방법에 대해서 알아보도록 하자. 1. ACR에 올라가 있는 모든 .. 2022. 8. 5.
[Azure] AKS를 이용해서 서버 배포하기 (2) Kubernetes 클러스터 만들기 1. AKS 클러스터 만들기 이번에도 포털을 이용해서 AKS 클러스터를 만들어보도록 하겠습니다. 먼저 Azure에 접속하신 다음 Create a resourc > Containers > Kubernetes Service의 Create를 눌러주세요. 다음 창에서 해주실 일은 3가지 밖에 없습니다. 1. Resource group에 Container Registry에서 만든 리소스 그룹을 선택해줍니다. 2. Kubernetes cluster name에 myAKS 같은 이름을 설정해주세요. 3. API server availlability를 99.5%으로 선택해주세요. 나머지는 그냥 두시고 Review+create(검토+만들기)를 눌러줍니다. 유효성 검사에 통과했다면 Create(만들기)를 눌러주세요. AKS.. 2022. 8. 3.
[Cloud] 클라우드 배포방식 (1) VM VM이란 Virtual Machine이라고 불리는 VM은 가상머신으로 물리 서버 위에 가상화를 통해 가상컴퓨터 시스템으로 작동하는 환경을 말한다. 개인적 경험으로 보면 클라우드를 처음 접할때 가장 먼저 사용하는 서비스이자 기본적인 방법이 VM이라고 할 수 있다. 클라우드가 많은 발전이 이루어졌지만 아직까지도 많이 찾는 서비스는 VM이다. 플랫폼 별 VM 서비스 AWS EC2 https://aws.amazon.com/ko/ec2/?nc2=h_ql_prod_cp_ec2 아마존 클라우드 서버 호스팅 | Amazon Web Services Amazon Elastic Compute Cloud(Amazon EC2)는 500개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의.. 2022. 8. 3.
[Azure] AKS를 이용해서 서버 배포하기 (1) 컨테이너 레지스트리 만들기 0. Azure CLI 설치하기 brew update && brew install azure-cli 설치 후 az --version으로 설치 되었는지 확인하기 1. Azure Container Registry 만들기 저는 CLI 대신 포털을 이용해서 만들어주었습니다. 우선 Azure에 접속한 다음 Create a resource > Containers > Container Registry의 Create를 눌러주세요. Resource group 이름과 Registry name 그리고 SKU를 Bascic(기본)으로 해주세요. 그 다음 Review + create (검토 + 만들기)를 눌러주시고 문제가 없다면 설정 검토한 후 만들기를 누르면 끝입니다. 2. 컨테이너 레지스트리에 로그인 az acr login.. 2022. 8. 2.
[Docker] 도커 물음표 아이콘 해결방법 - Docker.app 응용 프로그램이 손상되었거나 완전하지 않기 때문에 열 수 없습니다. 회사에서 이거저거 Docker를 이용해서 프로젝트 진행하다가 갑자기 Docker Desktop이 아예 꺼져버렸다 😳 그래서 다시 킬려고 보니깐 Docker에 물음표 아이콘이 생겼다..? 애플 공식 홈페이지에 이에 대한 내용이 설명되어져 있었다. 결론은 내 Docker가 삭제되어 아이콘만 남아있는 경우인 것이다..! 현실을 부정하며 응용 프로그램에 들어가서 docker를 다시 눌렀더니 이번에는 'Docker.app' 응용 프로그램이 손상되었거나 완전하지 않기 때문에 열 수 없습니다. 라는 문구를 만나게 되었다 🤯 근데 해결 방법은 매우 간단하다! 1. 물음표가 표시된 아이콘을 휴지통으로 넣어 삭제 2. 다시 도커를 설치하면 끝! 도커 설치는 https://docs.docker.com/get-docker/ .. 2022. 7. 21.
[Docker] 컨테이너 안에서 다른 컨테이너 접속하기 with.docker-compose docker-compose를 이용해서 다중 앱 관리를 하고 있었습니다. 하지만 위 그림과 같이 A 컨테이너에서 B 컨테이너에 접속할 때는 어떻게 해야할까요? 예를 들어 A 컨테이너에서 axios.get를 이용해서 B 컨테이너에 있는 API를 호출합니다. await axios.get("http://127.0.0.1:3000/test").then(response => { res.status(200).json(response.data); }); 원래였다면 127.0.0.1:3000(=B host)로 호출하여 데이터를 받았을 것입니다. 하지만 이렇게 Docker에 올릴 경우 127.0.0.1:3000을 찾을 수 없다는 에러 문구가 나옵니다. Docker에서 컨테이너 안에서 다른 컨테이너에 접속할때는 : 형식을 .. 2022. 6. 22.
[Cloud] 컨테이너 오케이스트레이션 툴 Docker Swarm vs Kubernetes 현재 저희 회사에서는 MSA로 독립적인 배포 가능한 서비스를 준비하고 있습니다. 오케스트레이션 관리를 위해 swarm을 쓸지 kubernetes를 쓸지에 대한 논의가 나와 한 번 정리해 보자는 생각이 들었어요. Container Orchestration 우선 오케스트레이션이란 무엇일까요? 컨테이너의 배포, 관리, 확장, 네트워킹의 자동화입니다. 회사에서는 수백 또는 수천개의 컨테이너와 호스트가 있을 것이고 배포하고 관리하는 입장에서는 오케스트레이션을 필요한거죠. 컨테이너에 MSA를 구현하면 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션 할 수 있습니다. 오케스트레이션 = 컨테이너 배포 관리 자동화라고 생각하면 좋을 것 같습니다. 이때, 오케이스레이션 도구로 Docker Swarm과 K.. 2022. 6. 22.
[Docker] Compose 생성하면 container? app! ※ 여기에서는 compose를 생성하는 작업은 보여드리지 않습니다. Docker Compose란? Docker Compose는 여러 개의 container를 실행시키는 툴입니다. 즉, 여러분이 docker-compose.yml에 services에 적어둔 대로 여러개의 container가 생기는거죠. container? app! docker-compose.yml를 잘 작성하여 실행시켜주니 잘 만들어진 것을 확인할 수 있습니다. Docker Desktop에서 보면 이렇게 구성되어져 있는 것을 볼 수 있는데요. 2개의 container가 하나의 '무언가'에 속해있습니다. 저는 처음에 '무언가'가 또 다른 컨테이너라고 생각했는데..아니었습니다! '무언가'는 바로 app이었습니다. 즉, 하나의 app 안에 두개.. 2022. 6. 15.
728x90
반응형