티스토리 뷰
간혹 자동으로 받은 join 키가 안먹히는 경우가 있다
수동으로 받는 토큰과 키로 접속하면 접속이 잘 된다
수동적으로 토큰을 생성하는 법
# kubeadm token create
# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
하면 토큰과 접속키가 생성된다
이것으로 노드에서 join 해주면 된다
[명령어]
kubeadm join [master IP:port] --token [발급받은 토큰] --discovery-token-ca-cert-hash sha256:[발급받은 키]
POD는 아이피가 같아 포트번호가 달라야 상호간에 통신이 된다
생명주기가 같은 서버끼리 같은 POD에 넣거나 같은 종류의 서버끼리 POD에 넣는다
namespace
- 쿠버네티스는 모든 팀이 이용하므로 네임스페이스로 팀을 나눠 사용한다
- 네임스페이스를 지정안하면 디폴트로 저장돼서 대참사
- kubectl delete namespace [네임스페이스명]
- 네임스페이스를 지우면 그 안의 pod들도 삭제된다
yaml파일 만들기
vi name.yaml
apiVersion: v1
kind: namespace
metdata:
name: 1team
kubectl apply -f name.yaml
vi name.yaml
apiVersion: v1
kind: Namespace
metadata:
name: 1team
---
apiVersion: v1
kind: Namespace
metadata:
name: 2team
이런식으로 여러 네임스페이스를 한번에 만들 수 있다
삭제할땐 kubectl delete -f name.yaml 형식으로 삭제하면 안에 작성된 네임스페이스가 모두 삭제된다
이것을 yaml 파일로 만들수도 있다
kind를 여러개 지정할 수도 있다
단 Service나 Deployment를 추가하려면 apiVersion에 app을 붙인다
Deployment는 애플리케이션 배포의 기본 단위가 되는 리소스이다
ReplicaSet : 똑같은 정의를 갖는 pod 여러 개를 생성하고 관리하는 리소스
Deployment : ReplicaSet을 관리하고 다루는 리소스
Deployment > ReplicaSet > Pod 순
네임스페이스에 대한 정보를 보려면 describe 명령어를 사용한다
describe pod하면 정보가 상세히 뜬다
pod를 하나 더 추가
추가한 pod의 정보도 확인
잘 보면 어떤 node에 pod가 들어갔는지도 볼 수 있다
(어느 node에 배치되는지는 알 수 없으므로 미리 확인해 두는 것이 좋다)
Kubernetes는 같은 공인 IP 대역이라면 local이 아니어도 관리할 수 있음
모든 namespace의 pod도 확인 가능
deployment도 만들어보자
ReplicaSet으로 동일한 pod가 두 개 만들어진 deployment가 만들어졌다
각각의 pod는 다른 node에 만들어진 것을 확인할 수 있다
nginx yaml파일을 하나 만든다
yaml파일에서 버전 관리를 할 수도 있다
고로 mysql 컨테이너를 생성할 수도 있다
버전 적용도 잘 됐고 작동도 잘 된다
워드프레스도 추가
해당 컨테이너로 접속 가능
wp-config 파일을 수정해보자
바꿀 부분
일단은 sed 명령어를 사용하여 바꿔본다
vi가 안된다
cat으로 바뀐것을 확인
'Kubernetes' 카테고리의 다른 글
Kuberbetes ReplicaSet (0) | 2022.07.27 |
---|