Kubernetes (K8S):실습1: 동일POD내의 wordpress + mysql
모든 실습의 끝은 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 파일만으로도 구성해 보시기 바랍니다.