분류 전체보기(77)
-
docker와 linux namespace(pid namespace, network namespace)
docker를 공부하는데 linux namespace 개념이 필요한 이유... docker는 프로세스 관리자로서 컨테이너라는 개념으로 프로세스를 나누고 독립적으로 운영할 수 있도록한다. docker는 기본적으로 linux의 namespace기능을 사용하여 resource(컨테이너를 구축하기 위한 모든 자원)를 독립적으로 운영하게 되는데. linux namespace, Cgroup, chroot와 같은 리눅스 기반 기술들의 집합체 임으로 이 세가지의 원리 및 기술을 모르면 docker를 제대로 이해했다고 할 수 없는것 같다. 먼저 namespace에 대해서 설명하면 다음과 같다. linux namespace는 하나의 독립된 기능이 아니라 6가지 세분화된 기능을 포함하여 linux namespace기능이라 ..
2022.08.01 -
kubernetes dir analysis
k8s root dir k8s 관리용 컴포넌트 kube-scheduler, kube-controller-manager, kube-apiserver, kube-proxy kubernetes etcd(안전적으로 운영 관리하기 위해서라면 주기적으로 백업할 것을 권장) kubernetes 오브젝트와 컨트롤러 오브젝트 : 파드, 서비스, 볼륨, 네임스페이스, 컨트롤러 : 레플리카세트, 디플로이먼트, 스테이트풀세트, 데몬세트, 잡 k8s root dir k8s 관리용 컴포넌트 kube-scheduler, kube-controller-manager, kube-apiserver, kube-proxy kubernetes etcd(안전적으로 운영 관리하기 위해서라면 주기적으로 백업할 것을 권장) kubernetes 오브젝..
2022.08.01 -
k8s svc nexus
넥서스 pod의 환경변수 $ kubectl execdevainexus-0 env nexus 서비스의 yaml cluster ip와 pod의 환경변수를 통해 pod와 서비스의 연결을 시도. 결과 : 성공 nexus svc의 endpoint $ kubectl describe svc devainexus
2022.02.28 -
Nexus Repository란 무엇이며, 구축하기
1. 회사에서 플랫폼 개발을 진행하면서 외부 네트워크가 끊어진 환경에서 외부 레포지토리에 접속하기 어려운 경우 Proxy역할을 할 repository가 필요하게 되었다. 2. 여러개의 서버에서 동일한 환경과 설정들을 해줘야하는 상황이 발생 3. 플랫폼 연구소에서 사용하는 공통 라이브러리 공유 및 유지가 필요 4. 특정 솔루션을 위한 3rd party(일명.. SI)가 쓰는 라이브러리를 관리가 필요 (3rd party : 다른 회사 제품에 이용되는 소프트웨어나 하드웨어를 개발하는 회사) NEXUS3 sonatype에서 만든 오픈소스 Repository manager Docker, Helm, Pypi,Maven...등 다양한 Format을 지원 https://help.sonatype.com/repomanag..
2022.01.16 -
kubernetes - volum(컨테이너에서 디스크 스토리지 연결)
1. 파드 내부에서 컨테이너가 이전에 종료된 위치에서 다시 시작하고 싶은 경우. 2. 전테 파일시스템이 유지도리 필요는 없지만 실제 데이터를 가진 디렉터리를 보존하고 싶은 경우. 이런 경우 쿠버네티스는 따로 스토리지 볼륨을 운영하는 방식으로 기능을 지원한다. 스토리지 볼륨은 파드보다 상위 개념이 아닌 파드의 일부분이라고 생각해야한다. 파드가 생서되면 스토리지 볼륨도 생성되며, 파드가 삭제되면 스토리지 볼륨도 삭제된다. 그렇기 때문에... 만약 컨테이너가 중지되고 다시 시작하면 새로운 컨테이너는 이전 컨테이너가 볼륨에 기록한 모든 파일들을 볼 수 있다. 또한 파드가 여러 개의 컨테이너를 가진 경우 모든 컨테이너가 볼륨을 공유할 수 있다. 볼륨은 독립적인 쿠버네티스 오브젝트가 아니다. 그렇기 때문에 자체적으..
2021.11.02 -
kubernetes - 서비스 엔드포인트
5.2.1 쿠버네티스 서비스 엔드포인트 서비스는 파드와의 통신을 위해 중간 엔드포인트라는 리소스를 만들어두고 파드와 통신한다. 엔드포인트는 서비스로 노출되는 파드들의 IP주소와 포트 목록이라고 생각하면 쉽다. 엔드 포인트 리소스는 kubectl get endpoints 을 입력하면 조회가능하고... 또는 kubectl describe svc 을 입력하여 조회 가능하다. 엔드포인트는 수동으로 파드 IP를 입력하여 등록이 가능하다. apiVersion: v1 kind: Endpoints metadata: name: external-service subsets: - addresses: - ip: 11.11.11.11 (pod IP) - ip: 22.22.22.22 (pod IP) ports: - port: 8..
2021.11.01