사전 준비

이번 실습의 샘플 애플리케이션으로 Helm을 통하여 Wordpress 사이트를 배포합니다. 이 Helm 차트는 MariaDB 및 Wordpress를 배포하고 ELB를 통해 사이트에 액세스할 수 있는 엔드포인트를 구성합니다. 또한 로드 테스트 도구를 사용하여 Wordpress 구조의 다양한 URL을 검색하여 다수의 동시 연결을 통해 추가 네트워크 트래픽 로드를 생성할 수 있습니다.

이번 실습에서는 아래 tools를 사용하게 됩니다.

  • Helm: Wordpress 애플리케이션 설치

  • CloudWatch Container Insights: 클러스터로 부터 logs and metrics 을 수집

  • Siege: 부하 테스

  • CloudWatch Container Insights Dashboard: 컨테이너 성능 및 로드를 시각

1. Wordpress 설치하기

bitnami charts repository 통하여 Wordpress를 설치합니다.

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

# Deploy WordPress in its own namespace
helm -n wordpress-cwi install understood-zebu bitnami/wordpress

Helm chart를 통해서 아래 구성요소가 생성됩니다.

아래 명령어를 통하여 배포 상태를 확인합니다.

kubectl -n wordpress-cwi rollout status deployment understood-zebu-wordpress

2. Wordpress에 접근하기

아래 명령어를 수행하여 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/"

Admin interface를 테스합니다.

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
"

Admin URL을 브라우저에 열어 아래와 같은 결과를 확인합니다.

위에서 확인한 username와 password로 접속하여 Wordpress가 정상적으로 동작하는지 확인합니다.

Last updated