■ 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 |