proxy란, '대신'이라는 개념을 가지고 있다. protocol에 있어서 대리 응답 등에서 사용한다고 볼 수 있다.

보안상의 문제로 직접 통신을 주고 받을 수 없는 사이에서 프록시를 이용, 중계를 하는 개념이라고 볼 수 있다.

 

이렇게 중계 기능을 하는 것을 우리는 'proxy server'라고 부른다.

 

'Proxy Server'는 단순히 보안 때문에 사용하는 것이 아니다. Proxy는 Proxy Server에 요청이 된 내용들을 '캐시'를 이용해 저장한다. 이렇게 '캐시'로 저장을 해두면 다시 데이터를 가져올 상황이 발생하지않는다(캐시로 저장되어있는 것을 가져가면 되기 때문).

 

'Proxy Server'는 크게 두가지로 나뉜다. Forward Proxy, Reverse Proxy.

 

Forward Proxy

클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식이다.

  • 인터넷보다 프록시 서버를 먼저 호출하게 되면 포워드 프록시이다.
  • 서버는 클라이언트가 누군지 모른다.

Reverse Proxy

클라이언트가 서버를 호출할 때 리버스 프록시를 호출하게 되고 프록시 서버가 서버를 요청하여 받은 응답을 클라이언트에게 전달하는 방식이다.

  • 클라이언트는 서버가 누군지 모른다.
  • 클라이언트는 리버스 프록시 서버를 먼저 호출하게 되기 때문에 실제 서버의 IP를 알 수 없다.

 


Proxy Server의 장점

  1. 보안 - 프록시 서버를 사용하면 클라이언트나 서버 모두 IP를 숨길 수 있다. 실제 서버 또는 클라이언트의 IP를 숨기고 프록시 서버의 IP만 공개함으로써 해킹을 대비할 수 있다.
  2. 성능 - 프속시 서버를 사용하여 캐싱 기능과 트래픽 분산으로 성능 향상을 가져올 수 있다. 캐싱 기능은 자주 사용되는 동일한 요청을 캐싱하여 재활용하는 방식이다. 실제 서버로 다시 호출하지 않고 프록시 서버가 대신 응답을 주어 서버의 자원 사용을 줄여줄 수 있다.
  3. 트래픽 분산 - 일부 프록시 서버는 로드 밸런싱도 제공하여 여러 대의 분산된 서버가 있다면 서버의 트래픽을 분산시켜준다. 그리고 앤드 포인트(URL)마다 호출하는 서버를 설정할 수 있어 역할에 따라 서버의 트래픽을 분산 가능하다.

'IT 용어사전' 카테고리의 다른 글

Protocol 이란,,,,  (1) 2020.08.07
Load Balancer란,,,,  (0) 2020.08.07
provisioning이란,,,  (0) 2020.08.07

provisioning이란,,,

 

프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다.

 

좀 더 실무적인 표현으로 보자면, IT 인프라 자원을 사용자 또는 비즈니스 customer(고객)에게 service vendor(서비스를 제공해주는 기업)가 제공해주는 것을 말한다.

 

Server Resource Provisioning: CPU, Memory, IO 등과 같은 실제 서버의 자원을 할당해주고 운영할 수 있게 제공해주는 것을 말한다.

 

OS Provisioning: OS를 서버에 설치하고 구성작업을 해서 사용할 수 있도록 제공하는 것을 말한다.

 

Software Provisioning: WAS, DBMS등의 소프트웨어를 설치하고 세팅하여 실행할 수 있도록 제공하는 것을 말한다.

 

Account Provisioning: 접근 권한을 가진 계정을 제공해주는 것을 말한다. 클라우드 인프라 쪽에서는 해당 업무를 담당하던 관리자가 변경된 경우 권한의 인계를 Account Provisioning을 통해 하는 경우가 많다.

 

Storage Provisioning: 데이터를 저장하고 관리할 수 있는 Storage를 제공할 수 있다. 특히 클라우드에서는 제공하는 storage의 종류와 용도에 따라 다양한 방식의 제공이 이루어진다.

 

 

'IT 용어사전' 카테고리의 다른 글

Protocol 이란,,,,  (1) 2020.08.07
Load Balancer란,,,,  (0) 2020.08.07
proxy란,,,,  (0) 2020.08.07
# 이 명령어를 통해 클러스터 명 확인
kubectl config get-contexts

*를 통해 현재 kubectl이 어떤 cluster를 바라보고 있는지 확인 가능.

 

다른 클러스터로 switch하는 법

kubectl config use-context aks-bonah

변경된 것을 확인할 수 있음.

'IT > Kubernetes' 카테고리의 다른 글

helm 설치  (0) 2020.08.11
kubernetes에 jupyter notebook 띄우기 (2)  (0) 2020.08.07
k8s 정리  (0) 2020.07.31
kubernetes에 jupyter notebook 띄우기 (1)  (0) 2020.07.15
cloud 관련 링크  (0) 2020.07.13

kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

 

쿠버네티스는 컨테이너 응용 프로그램의 배포, 확장 및 관리를 자동화하는 오픈 소스 시스템입니다.

 

쿠버네티스는 조타수, 조종사 (그리스어)

 

CNCF(Cloud Native Computing Foundation)

 

쿠버네티스의 특징

1. 상태관리

2. 스케줄링

3. 클러스터

4. 서비스 디스커버리 : 서로 다른 서비스를 쉽게 찾고 통신할 수 있음

5. 리소스 모니터링

6. 스케일링 리소스에 따라 자동으로 서비스를 조정함

7. rollout/rollback 배포/롤백 및 버전관리

 

다양한 배포방식

 

Ingress 설정

 

Namespace, Label 관리

 

RBAC( 사용자에 따른 제어) 권한 자유자재로 부여

 

계속해서 원하는 상태를 만들기 위해서 현재의 상태를 바꾸는 것 = 쿠버네티스의 기본 개념이다.

이러한 상태를 어떻게 관리한다? 명령적 방식 보다는 선언적방식(yaml 파일!)으로 정의해서 관리한다.

 

kubernetes 사용하기 - 원하는 상태(desired state)를 다양한 오브젝트(object)에 라벨(Label)을 붙여 정의(yaml)하고 API 서버에 전달.

'IT > Kubernetes' 카테고리의 다른 글

helm 설치  (0) 2020.08.11
kubernetes에 jupyter notebook 띄우기 (2)  (0) 2020.08.07
kubernetes multiple cluster일때 cluster 옮기는 방법  (0) 2020.08.03
kubernetes에 jupyter notebook 띄우기 (1)  (0) 2020.07.15
cloud 관련 링크  (0) 2020.07.13

안녕하세요 본아에요~

 

오늘은 portal.azure.com의 vm 안에서 aks, acr등을 활용하여

 

jupyter notebook을 올리는 작업을 한번 진행해 보겠습니다.(부족한 점이 많아요)

 

1. portal azure 로그인 후, 리소스 그룹을 할당받음(리소스 그룹안에서 vm, aks, acr등이 만들어짐)

 

2. vm (ubuntu 18.04) 생성

 

3. vm 상에서 azure-cli 설치

 

 

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login # Azure Cloud와의 연동

# 다음과 같은 문구가 뜬다.
#To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code HBCHP2AY5 to authenticate.

 

해당 url로 접속 후, 인증을 진행한다.

 

4. kubectl cli 설치

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --client

5. docker 설치

docker는 기본적으로 root계정의 권한 아래에서 진행이 되기 때문에,

usermod를 활용하여 권한을 부여한다.

sudo apt install docker.io
docker version (client만 뜨고 server는 안뜬다)
sudo usermod -a -G docker AzureUser
sudo service docker restart
docker version
exit
docker version
docker ps -a # 컨테이너 아무것도 없음

6. Azure Container Resistory 생성

# rg-intern-2020 리소스그룹 내에 acrinternjupyter 라는 acr 생성
az acr create --resource-group rg-intern-2020 --name acrinternjupyter --sku Basic

# acrinternjupyter 리소스에 로그인
az acr login --name acrinternjupyter

rg-intern-2020 리소스 그룹내의 acr list 출력해서 보기
az acr list -g rg-intern-2020 --query "[].{acrLoginServer:loginServer}" --output table

 

7. docker hub에서 jupyter/base-notebook pull 해서 가져오기(image를 가져오는 것임)

# docker hub에서 jupyter/base-notebook 이미지 가져오기
docker pull jupyter/base-notebook

# 가져온 이미지에 태그 달기
docker tag jupyter/base-notebook acrinternjupyter.azurecr.io/base-notebook:v1

# 태그 단 이미지를 푸쉬하기(푸쉬를 하면 azure container repository로 들어가게됨)
docker push acrinternjupyter.azurecr.io/base-notebook:v1

# acr list 살펴보기
az acr repository list --name acrinternjupyter --output table

8. AKS를 생성하면서 acr과 붙이기

az aks create --resource-group rg-intern-2020 --name aks-intern-jupyter --node-count 3 --generate-ssh-keys --attach-acr acrinternjupyter

# kubectl 명령어가 먹도록 만들기 ( 이것은, kubectl 명령어가 만든 aks를 바라보도록 하는 명령어이다)
az aks get-credentials --resource-group rg-intern-2020 --name aks-intern-jupyter

9. jupyter namespace 만들어서 관리하기

kubectl create namespace jupyter

mkdir jupyter
cd jupyter
touch jupyter.yaml

kubernetes에 적용할 yaml파일 작성하기(deployment, services)

 

10. kubectl 명령어로 pods 띄우기

kubectl apply -f jupyter.yaml -n jupyter
kubectl get pods -n jupyter -w
kubectl get svc -n jupyter -w

 

여기까지가 정말 기본적으로 설치 및 주피터 노트북을 빠르게 띄우는 작업을 진행해 보았습니다.

 

다음 업로드 때에는, 영구 스토리지를 연결해서 하는 작업을 진행해 보도록 하겠습니다.

 

다음 업로드 - https://bonahbruce.tistory.com/91

 

kubernetes에 jupyter notebook 띄우기 (2)

안녕하세요 보나에요~ 전에꺼에 이어서 해볼께요! (1)을 보시고 싶으면 https://bonahbruce.tistory.com/76 여기로 들어가보세요! kubernetes에 jupyter container 띄우기 ( azure 활용) 안녕하세요 본아에요~ 오..

bonahbruce.tistory.com

 

'IT > Kubernetes' 카테고리의 다른 글

helm 설치  (0) 2020.08.11
kubernetes에 jupyter notebook 띄우기 (2)  (0) 2020.08.07
kubernetes multiple cluster일때 cluster 옮기는 방법  (0) 2020.08.03
k8s 정리  (0) 2020.07.31
cloud 관련 링크  (0) 2020.07.13

+ Recent posts