분류 전체보기
-
AKS Migration을 해보며Intern 2024. 6. 3. 09:03
Azure VM에서 AKS로 Migration 작업을 하면서 많은 시행착오를 겪었다.쿠버네티스가 리소스 관리를 위한 것임을 몸소 체감하는 계기가 되었고, vm 사양을 따져가며 내 프로젝트에 맞는 게 어떤건지,애플리케이션이 가져야할 신뢰성/확장성/유지보수성이 확보되는지 확인할 수 있었다.또한 네트워크 지식을 직접 사용해보는 계기가 되며, 가상화와 클라우드 컴퓨팅에 대한 이해도가 높아진 것을 체감한다.역시 직접 써봐야 알 수 있다. On-Premise라즈베리 파이 5를 이용해 Ubuntu를 설치하고, 회사에 있던 기존 프로젝트를 서버에서 띄우는 실습을 진행했다.처음 다뤄보는 기술인만큼 꽤 어려웠지만, 쿠버네티스의 개념을 공부를 하며 정리를 하였다. 실제 도입메모리와 cpu 사용량이 이상치를 감안하더라도 매우..
-
시분할 / 클라우드 컴퓨팅Network 2024. 5. 26. 19:14
클라우드 컴퓨팅은 네트워크를 통해 다른 누군가의 컴퓨터를 사용한다는 의미로, 1960년대 시분할 개념을 포장한 버전이라고 생각하면 된다.개요를 간략히 설명하자면, 전 세계로 네트워크가 보급되었고 속도의 극적인 변화가 일어났다.믿을 수 없을만큼 큰 컴퓨팅 파워와 저장소를 사용할 수 있을만큼 하드웨어의 가격이 저렴해졌고, 그 결과 과거와 달리 새로운 알고리즘이나 처리 방식을 사용할 수 있게 되었다. 이 배경을 토대로 클라우드 컴퓨팅은 하드웨어와 소프트웨어의 조합으로 컴퓨팅 자원을 빌려주는 것이라고 생각하면 된다.시분할?여러 명의 프로세스가 사용하는 시스템에서 컴퓨터가 자원을 시간적으로 분할해주어 사용자들의 프로그램을 번갈아가며 처리해줌으로써 각 프로세스에게 독립된 컴퓨터를 사용하는 느낌을 주는 것이다.특징-..
-
-
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)Kubernetes 2024. 5. 21. 17:49
파드를 띄워놓고, 서비스에 할당된 외부 ip에 접근하려고 했지만ping을 찍어보니 이렇게 호스트를 찾을 수 없다고 한다.도커 허브에 있는 echo server로 변경을 해봤는데, 그때는 잘 들어가 있는 걸 보면 내가 설정한 yaml 파일 혹은 더 하위 개념으로 dockerfile에 문제가 있다고 판단했고 확인 결과다음과 같은 에러가 발생했다.컨테이너를 로컬에 띄우면 이상없이 잘 되는 것 같은데.. 흠 ---하다보니 was 부분은 DB 연결이 되었는데...! 왜 Web만 되지 않는것인가.. ㅠㅜ아마도 도커파일을 전적으로 수정해야 될 것 같다.. WAS -> DB(Azure) Mysql 서버 --> Private DNS Zone --> Virtual network links에 링크 추가 --> 링크에 k8..
-
[Trouble Shooting] AKS 연결 안됨Kubernetes 2024. 5. 20. 19:47
k8s 클러스터 구축 중에, service 배포 후 할당된 외부 IP 접속이 안되어 문제가 발생했다. 대략적으로, AKS 배포 진행 단계는 다음과 같다.Dockerfile 작성이미지 빌드Azure 포탈 내 Container Registry 생성Container Registry 로그인Docker tag -> docker pushK8s cluster 생성Cli에서 명령어 가져와 Cluster 연결컨테이너 띄우고 yaml 파일 작성후 배포(Deployment -> Service)Sevice 배포 단계에서 외부 IP 획득 여러 방면으로 생각을 해봐야할텐데...traceroute 결과 msn.net 홉을 거친 이후 timeout이 발생하는 것을 볼 수 있다. 원인은 총 2가지다.첫째로, 내가 만든 WEB Dep..
-
1039.교환Programmers 2024. 5. 19. 15:22
테스트 코드는 모두 통과했으나 , 반례를 못찾아서 풀지 못한 문제다..# 무조건 k번 수행해야 함# input : n, k / output : k번 바꾸어 나올 수 있는 최댓값n, k = input().split()number = list(n)k = int(k)# 자릿수가 1자리이거나, 뒷자리에 0만 포함되어 있을 시if len(number) == 1 or set(number) == {number[0], '0'}: result = -1 print(result)else: idx = 0 # 1~i 내림차순 진행 # i~k 내림차순으로 정렬되어 있을 경우, 남은 횟수(k-i)만큼 가장 작은 두 수끼리 교환 while (idx 0): max_idx = idx ..
-
Kubernetes가 사용되는 이유Kubernetes 2024. 5. 8. 10:15
이 내용은 를 참고해 작성하였습니다.Kubernetes란?통합적인 인프라 관리, 버전 관리를 위한 도구클라우드 컴퓨팅의 핵심 기술 중 하나 CNI/CSI : 컨테이너 네트워킹/스토리지 인터페이스로, 각각 쿠버네티스에서 실행되는 파드에 대한 플러그형 네트워킹과 스토리지를 가능하게 한다Container : 도커 및 OCI 이미지. 일반적으로 애플리케이션을 실행한다.Control Plane : 컨테이너의 스케줄링과 모든 쿠버네티스 객체의 관리가 이루어지는 곳\DaemonSet : 디플로이먼트와 유사하나, 클러스터의 모든 노드에서 실행된다Deployment : 쿠버네티스에서 관리되는 파드의 모음이다Kubectl : 쿠버네티스 컨트롤 플레인과 통신하기 위한 명령행 도구Kubelet : 클러스터 노드에서 실행되는 ..
-
Default RouteNetwork 2024. 5. 3. 13:26
LoopbackA 네트워크 : 0.0.0.0 ~127.255.255.255A 네트워크에서 마지막 네트워크인 127.0.0.0 네트워크와 127.0.0.1~127.255.255.255은 컴퓨터 박사, 과학자들이 가상의 인터페이스(데이터 전송 통로)에 사용하기 위해 예약해 놓은 주소이다.Loopback I/F는 내 컴퓨터에서 나간 신호가 다시 내 컴퓨터로 돌아오기 때문에 붙여진 이름이다.데이터가 흐르는 통로에 데이터를 보내면 어느 목적지에 도달한다.컴퓨터가 라우터로 이어진 이더넷 인터페이스(통상적으로 IP 주소)로 데이터를 보내면 Gateway인 Router에 도달한다.루프백 인터페이스로 데이터를 보낼 시 자기 컴퓨터로 돌아온다. Loopback 주소를 사용하는 이유프로그램에 다른 컴퓨터 IP 주소를 적어 ..