-
Kubernetes (K8S):실습1: 동일POD내의 wordpress + mysql공부합시다!/Kubernetes 2022. 12. 23. 10:47728x90
모든 실습의 끝은 wordpress + mysql 접속 입니다.
오늘은 단일 pod내에서 wordress container와 mysql:5.7 container를 생성,
pod를 nodeport로 연결해서 외부에 서비스하는 실습을 진행하겠습니다.
동일 pod내애서 두 개이상의 container를 실행하는 것을 MultiContainer라고 합니다. 기억해두세요!
-> Multi Container 유형
- sidecar
- adapter
- ambassador
K8S에서는 pod에는 한 개의 Container를 지향합니다. 이런 구성은 권장하지 않습니다만 학습용으로!
아 그리고 꼭 kubectl cheat sheet 한번들 읽어 보세요!
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
1. pod 생성
2. nodeport service 연결
3. Test
순서로 진행하겠습니다.
1. pod 생성
1.1. yaml 파일
apiVersion: v1 kind: Pod metadata: name: word-rep namespace: 1team labels: run: myword spec: containers: - name: word image: wordpress env: - name: WORDPRESS_DB_HOST value: word-rep:3306 - name: WORDPRESS_DB_NAME value: wordpress - name: WORDPRESS_DB_USER value: root - name: WORDPRESS_DB_PASSWORD value: It12345! ports: - containerPort: 80 - name: mysql image: mysql:5.7 env: - name: MYSQL_ROOT_PASSWORD value: It12345! - name: MYSQL_DATABASE value: wordpress - name: MYSQL_ROOT_HOST value: '%' ports: - containerPort: 3306
1.2. vi wordsql.yml
1.3. wordsql.yml을 이용해서 pod 생성
# kubectl create namespace 1team # kubectl apply -f wordsql.yml
1.4. pod 확인
# kubectl get pods -n 1team
1.5. pod내의 Container 상태 확인
# kubectl describe pods -n 1team
1.6. word와 mysql container 정보 확인
2. nodeport service 연결
2.1. nodeport에 기본값으로 연결합니다.
# kubectl expose pod word-rep -n 1team --type=NodePort
2.2. 서비스 생성 확인
# kubectl get service -n 1team
3. Test
3.1. master or work node IP:NodePort port입력 후 접속
3.2. wordpress 설정
자 그럼 동일 POD내 wordpress + mysql 구성을 마쳤습니다.
반드시 명령어로도 해보시고 yaml 파일만으로도 구성해 보시기 바랍니다.
728x90'공부합시다! > Kubernetes' 카테고리의 다른 글
Kubernetes (K8S): Object - 6-3. Storage: Persistent Volume (0) 2022.12.26 Kubernetes (K8S):실습2: 각기 다른 POD의 wordpress + mysql (0) 2022.12.23 Kubernetes (K8S): 설치 영상: 2022년 12월 21일 Test (0) 2022.12.21 Kubernetes (K8S): Labels -1 (0) 2022.08.03 Kubernetes (K8S): Object - 2.5. ReplicaSet (0) 2022.07.26