---
이게 얼마만의 수업인지 모르겠다.
아까전에 다운받은 master.ova를 VMware로 실행시키어주자
하고나니 위와같이뜬다.
master 가상머신이 생기었다.
---
master (manager) 4/4, GUI(web-ui)
node1 ~ 3 (worker1 ~ 3), CLI
새로운 runtime에 대해서 이걸 적용할 수 있는 클러스터링 환경이 필요했다. 그래서 k8s가 새로운 runtime을 지원했기에 점차 지분이 상승하게 되었다.(반대로 swarm은 runtime을 바꾸지 못하는 단점이 있었다.)
기존에는 manager가 죽을것을 대비해서 두개의 manager을 두었다.
k8s로 오면 master은 하나만 존재한다. master의 describe(inspect 같은 역활)을 이용하면 그 안에 Role이 기록되어 있다. 이게 label 기반이다. 그래서 node 하나를 골라서 role을 master로 바꾸어주면된다.
k8s는 또 특이하게 node용 토큰만을 발행해준다.
또 k8s는 web-ui를 지원해준다.
namespace는 각 컨테이너별 작업공간분리용
cgroup은 컨테이너 자원 분배용 -> 이게 있어야 적절한 분량의 자원을 각각 가져가게 된다.
k8s에서의 namespace는 일종의 project(tennant) 처럼 동작한다.
```
kubectl get pod # 모든 pod를 볼 수 있다
kubectl get pod --namespace samsung # 삼성 작업그룹에 포함된 포드만 볼 수 있다
```
나중에는 모든 작업(오브젝트)이 모두다 네임스페이스에 속하는 것은 아니다. 네임스페이스에 속하지 않는 오브젝트도 있다.
위와같이 namespace를 kubernetes-dashboard로 지어놓고 이 안에서만 사용 가능한 serviceaccount를 정의해주는 방법이다.
????
(사실 이 부분은 들어도 약간 애매하게 들림. 복습이 필요함)
스웜에서는 manager가 기본적으로 worker의 기능을 포함한다.
k8s에서 master는 worker(node)의 기능을 수행하지 않는다.
오직 관리, 모니터링, 유지보수만을 위해 동작한다.
일단 master.ova를 가지고 node1~3을 만들어보자
이 상황에서 master의 network adapter을 VMnet8로 모두 변경해주자
node1~3의 스펙과 네트워크는 위와같이 작성해주자
시스템을 키고 다음과 같이 수행해주자
1. power -> never
2. about에서 hostname 변경
3. root 패스워드 변경
```
sudo passwd root
password : test123
```
4. 모든 노드는 메모리 일관성 유지를 위해 swap을 사용하지 말아야함
```
sudo swapoff -a
```
5. 각 vm의 ip를 설정
6. /etc/hosts에 등록
이런식으로 master, node1 ~ node3 까지 모두 등록해주자
7. user1에게 sudo 권한 부여
8. master을 docker login 하기
인증한 정보가 보인다.
auth 뒤쪽에 여러 알파벳부분을 긁어오자
이걸 위와같이 출력해주면 내가 로그인했던 정보가 보인다.
```
echo "정보" | base64 -d
```
이미지의 이름이
1.1.1.1:5000/mytest:1.0
저장소 주소 1.1.1.1 의 5000번 포트에서 제공하는 사설 저장소 서비스에 이미지 mytest의 tag(버전) 1.0
mytest:1.0 -> 이미지 저장소 ? docker-hub
gildong/mytest:1.0 -> docker-hub에 gildong 계정으로 만들어둔 mytest
docker pull nginx:1.0
docker pull gildong/nginx:1.0 -> 접속시 사용하는 계정 정보는 /root/.docker/config.json 파일로 저장되어있어, 이 파일을 기반으로 도커허브에 접속하게 된다.
```
sudo docker pull nginx
sudo docker image ls
```
9. sudo docker 안하게 하기
```
sudo usermod -aG docker user1
```
10. node1~node3 은 run level 3으로 하게 하기
'Development(Web, Server, Cloud) > 22) LINUX - Cloud' 카테고리의 다른 글
클라우드 61일(kubernetes 개념, pod, Deployment, Metal LB, autoscaler, web-ui) (0) | 2022.04.15 |
---|---|
클라우드 60일차 (0) | 2022.04.14 |
클라우드 Runtime (k8s) (0) | 2022.04.06 |
클라우드 프로젝트 1-3 : RE (0) | 2022.03.30 |
클라우드 프로젝트 1-1 : RE (0) | 2022.03.30 |