1. WordPress 설치
1) WordPress를 EKS cluster에 설치
bitnami charts 레포지토리를 사용해 WordPress를 EKS cluster에 설치한다.
Cloud9 Workspace 터미널에선 아래와 같은 명령을 실행해 WordPress 및 해당 데이터베이스를 배포하면 된다.
# Create a namespace wordpress
kubectl create namespace wordpress-cwi
# Add the bitnami Helm Charts Repository
helm repo add bitnami https://charts.bitnami.com/bitnami
# helm repository list 조회
helm repo list
# Deploy WordPress in its own namespace
helm -n wordpress-cwi install understood-zebu bitnami/wordpress
위의 chart가 생성한 것은 아래와 같다. (생성되는데 까지 약 5~10분 정도 소요된다.)
- 2개의 persistent volumes
- 다수의 secrets
- MariaDB를 위한 1개의 StatefulSet
- WordPress를 위한 1개의 배포
-# 생성된 pod 상태 확인
seungkim:~/environment $ kubectl get pod
NAME READY STATUS RESTARTS AGE
my-release-mariadb-0 1/1 Running 0 4m18s
my-release-wordpress-5b47857bbb-xzfct 1/1 Running 0 4m18s
2) 배포 상태 확인
kubectl -n wordpress-cwi rollout status deployment understood-zebu-wordpress
제대로 배포됐다면 아래와같이 화면에 나타난다.
2. WordPress 접속
1) public URL 테스트
* LoadBalancer를 사용할 수 있으려면 몇 분이 소요된다.
WordPress 사이트의 URL을 출력한다.
export SERVICE_URL=$(kubectl get svc -n wordpress-cwi understood-zebu-wordpress --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
echo "Public URL: http://$SERVICE_URL/"
2) 시작 페이지 확인
위에 출력된 URL로 들어가보면 샘플 템플릿이 적용된 WordPress 사이트가 나온다.
3) admin 인터페이스 테스트
위의 상태로는 관리자 페이지로 들어갈 수 없다.
관리자 URL과 패스워드를 설정해준다.
export ADMIN_URL="http://$SERVICE_URL/admin"
export ADMIN_PASSWORD=$(kubectl get secret --namespace wordpress-cwi understood-zebu-wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)
echo "Admin URL: http://$SERVICE_URL/admin
Username: user
Password: $ADMIN_PASSWORD"
# 아래와 같은 정보가 출력된것을 확인 할 수 있다.
seungkim:~/environment $ export ADMIN_URL="http://$SERVICE_URL/admin"
seungkim:~/environment $ export ADMIN_PASSWORD=$(kubectl get secret --namespace wordpress-cwi understood-zebu-wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)
seungkim:~/environment $ echo "Admin URL: http://$SERVICE_URL/admin
> Username: user
> Password: $ADMIN_PASSWORD"
Admin URL: http://a79f8932b5a0942a39b7324883c8a29a-519472971.ap-northeast-2.elb.amazonaws.com/admin
Username: user
Password: bCKcd4Nmwk
4) Admin URL 테스트
위에서 출력된 Admin URL을 들어가면 다음 화면이 표시된다.
5) Admin 페이지 로그인
Username or Email Address : user
Password : 위에 출력된 비밀번호
로그인 이후 아래와 같은 화면으로 이동됐다면 EKS cluster에서 MariaDB가 지원하는 Wordpress 설치를 성공적으로 실행한 것이다.
이로써 AWS EKS에서 Wordpress를 실행하는 구성에 대해서 알아보았다.
- 끝 -
'k8s 실전 프로젝트 > 2. Application 빌드와 배포' 카테고리의 다른 글
Deployment, Service, Ingress 흐름 설명 (0) | 2022.03.10 |
---|---|
eks클러스터 생성 및 ALB 사용하기 (0) | 2022.03.08 |
3. ECR에서 이미지 Pull 후 eks 에서 실행하기 (0) | 2022.03.03 |
1. k8s Application 설치(k8s-dashboard, prometeus+grafana) (0) | 2022.03.03 |