ITFragile
[Kubernetes] 05. Web-DB 연결을 위한 컨피그맵 수정 본문
1.DB 구성
먼저 DB에 직접 접속하여 연걸할 db, table, user 생성한다.
kubectl exec mydb-0 -it -- bash
만드는 건 [Linux] 01. 작업 환경 구성 (tistory.com) 참고~~
현재 파드 상태
2. 컨피그맵으로 연결한 index.php 수정
# index.php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$servername = "db-read"; # 외부에서 접속 가능한 db 이름 부여!!
$user_name = "root";
$password = "";
$db_name = "web_db";
$connection = mysqli_connect($servername, $user_name, $password, $db_name);
$query = "SELECT * FROM web_tb";
$rst = mysqli_query($connection, $query);
if (mysqli_num_rows($rst) > 0) {
while($i = mysqli_fetch_assoc($rst)) {
echo "id : " . $i["id"] . " | name : " . $i["name"] . "<br>" ;
}
}
mysqli_close($connection);
?>
3. 서비스 타입 변경
현재 웹서버는 인그레스로 접근시 curl로는 php,html 출력되지만 웹에서 직접 도메인 접속을 확인할 수 없음
따라서 서비스를 Loadbalancer로 바꾸어 external ip를 부여받아 확인 해보자.
다시 서비스와 디플로이먼트 실행하면
서비스 타입이 로드밸런서로 변경되고 외부에서 접근 가능한 external ip가 부여되었다.
해당 ip로 접근시 두 파드를 번갈아서 출력한다.
4. 컨피그맵 수정
파일을 수정했으니 기존 생성한 컨피그맵을 삭제해주고 다시 파일과 연결 후 디플로이먼트 재 생성해줘야 한다!
kubectl delete cm cmfile
kubectl create cm --from-file index.php cmfile
kubectl apply -f dep-web.yaml
5. 접속 확인
db 연결 완료~
'Project' 카테고리의 다른 글
[Kubernetes] 06. Web server HPA 구성 (0) | 2023.03.22 |
---|---|
[Kubernetes] 04. Deployment로 web server 인그레스 구성 (0) | 2023.03.22 |
[Kubernetes] 03. Docker image build하기 (0) | 2023.03.21 |
[Kubernetes] 02. DB StatefulSet으로 이중화 구성 (0) | 2023.03.21 |
[Kubernetes] 01. 작업 환경 구성 (0) | 2023.03.20 |