본문 바로가기
가상화(VMware)/Doker&Container

Kubernetes

by Net Twerking 2022. 8. 18.
반응형

■ Kubernetes 설치과정

# swapoff -a (memory swap 해제) : 성능이슈...

> 간소화 구성을 위한 최적의 환경을 만들기 위함

 

1) google cloud public key download

# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-ket add - 

2) k8s repository 생성

#cat <<EOF > /etc/apt/sources.list.d/kubernetes.list

> deb http://apt.kubernetes.io/ kubernetes-xenial main

> EOF

3) Docker 설치 > 생략 -a

4) Containerd 구성 초기화(K8S를 Containerd에 바로 연결) 루 containerd 재시작

#containerd config default > /etc/containerd/config.toml

#service containerd restart

5) Kubernetis 저장소 추가 

6)  K8S 설치 (필수 모듈 3개 + 1개)

① 쿠버네티스 에이전트 설치 (kubelet)

② 컨테이너를 만들고 구성하는 역할(kubeladm)

③ kubectl(command line interface 관리)

kubercni : 쿠버네티스가 서브파티(cis aci, vmware nsx같은) 네트워크 노드들과 연동하기 위함 

#apt-get update

#apt-get install -y kubelet kubeadm kubectl kubernetes-cni

#systemctl deamon-reload

#systemctl restart kubelet

7) K8S master node 구성(K8S cluster 초기화 또는 구성)

#kubeadm init --apiserver-advertise-address 172.20.14.17

--pod-network-cidr=192.168.0.0/16 --cri-socket /run/containerd/containerd.sock

> apiserver는 서버 controller를 구성하는 요소(제어통신을 하는 역할)

8) K8S Master Node 설정 

9) K8S Worker Node 설정

10) Container network add-on 설치

#kubectl apply -f https://docs.projectcalio.org/manifests/calio.yaml 

11) K8S 설치 확인

#kubectl get namespace

> kube-system namespace가 설치된거 확인 

# kubectl get nodes 

> Master Node와 Worker Node를 확인


1. Docker Images 생성 (ubuntu18.04, 20.04 등등)

#docker commit or docker file

> K8S repo upload > Web server image, App server image, DB server image

2. K8S

1) Service 설계 Web service제공 >> web1,2,3의 Container를 하나의 host로 구성되어있다 가정.

kubernetes에서는 pod라고 하는데, pod=1개 또는 1개 이상의 container Group을 의미함.  

* 보통은 하나의 Application(Web or App or DB)당 하나의 pod로 구성하는데, monitoring 목적의 logging server를 만들어야 하는데 일반적으로 모두 container로 구성되는데, 이런 부수적인 보조 Applicaition container들을 하나로 묶어(pod) 사용. 

* Replica Set  : Pod들의 Group > 정의된 Pod수가 유지되는 역할 

* Deployment : Replica Set의 Group

* Namespace > 하나의 Service : Pod ( Replica ( Deployment ( Name Space 의 구성개념 

***** Kubernetes는 하나의 Service를 관리한다고 보면 된다. *Service Object : pod가 외부랑 통신할때 Kubernetes에서 Network service를 지원하는 object

K8S Object에는 pod, replica set , deployment, service object가 포함되어 있다. 이게 확장자 .yaml 임!


kubeadm 역할 

 

kubectl 역할

K8S = Container 기반의 Application Orchestration Solution! 

Node에 부하가 생기면 Container를 다시 불러오거나 다른 Container로 이동시키고 Application을 올려원하는 Service를 제공하는 Solution. 

 

반응형

'가상화(VMware) > Doker&Container' 카테고리의 다른 글

Docker/Container  (0) 2022.08.17
Docker/Container  (0) 2022.08.17
Docker/Container  (0) 2022.08.16