< SQL Server on GKE >
Why run SQL Server on GKE?
GKE에서 SQL Server를 실행하는 이유는 무엇인가요?
- 다양한 클라우드 플랫폼 또는 하이브리드 온프레미스 또는 오프프레미스에서 서버를 실행 가능
- 클라우드 리소스 및 애플리케이션 배포 자동화를 단순화
- CI/CD 파이프라인을 생성하는데 더 높은 수준의 자동화 사용 가능
- 더 나은 성능을 위해 서버를 애플리케이션과 동일한 클러스터도 이동하는 기능 제공
Use YAML to configure your SQL Server database
YAML을 사용하여 SQL Server 데이터베이스 구성
- YAML 파일을 통해 SQL Server 데이터베이스를 Kubernetes 클러스터에서 실행하려면
영구 볼륨 클레임을 사용해 클러스터에서 실행 중인 데이터베이스에 디스크 공간을 할당해야 함 - 배포 구성은 도커 이미지 환경 변수 및 인스턴스 리소스를 정의하는데 사용하고 서비스 구성은 액세스를 제공하는데 사용
In the deployment,
specify the Docker image for the SQL Server version you want to deploy
배포에서 배포하려는 SQL Server 버전의 Docker 이미지를 지정
- 서버용 Microsfot 표준 도커 이미지는 Microsoft에서 유지 관리하고 도커 허브에 저장됨
- 더 높은 수준의 사용자 지정이 필요한 경우 설치된 SQL Server를 사용해 고유한 도커 이미지를 구축할 수 있음
Official Microsoft SQL Server Docker images can be found at Docker Hub
공식 Microsoft SQL Server Docker 이미지는 Docker Hub에서 찾을 수 있음
- 많은 Microsoft 사전 구축 도커 이미지를 사용할 수 있음
- 필요에 맞는 버전을 선택하고 필수 환경 변수가 설정되었는지 확인
- 라이센스 계약을 사용해 초기 에세이 암호를 지정
PersistentVolumeClaim reserves disk space on the cluster
PersistentVolumeClaim은 클러스터에서 디스크 공간을 예약
- Use separate volumes for the database, data, and log files when configuring SQL Server
SQL Server 구성 시 데이터베이스, 데이터 및 로그 파일에 대해 별도의 볼륨 사용 - 소프트웨어 데이터 로그 및 tempdb를 서로 다른 물리적 볼륨에 구성하려면 각 영구 볼륨 클레임을 구성해야 함
- 각 영구 볼륨 클레임에는 고유한 이름이 있고 각각에 대한 디스크 공간 양이 지정됨
Also in a deployment, mount the volume claims and specify the paths
또한 배포에서 볼륨 클레임을 탑재하고 경로를 지정
- claimName : 배포에서 이전 슬라이드의 영구 볼륨 클레임이 구성 중인 포드의 볼륨으로 추가됨
- mountPath : SQL Server 컨테이너를 구성할 때 Linux 경로를 마운트
In a deployment, you can configure environment variables
배포에서 환경 변수를 구성
- 에세이 암호 변수를 환경 변수로 구성
Secrets are used to keep sensitive data out of the configuration files
비밀은 구성 파일에서 민감한 데이터를 유지하는 데 사용
- 구성 파일에 비밀을 사용해 실제 암호를 저장하고 구성 파일의 비밀을 사용할 수 있음
- 암호는 CLI를 사용해 설정되며 배포 전에 이 코드를 실행
Service provides access to the database running in the cluster
서비스는 클러스터에서 실행 중인 데이터베이스에 대한 액세스를 제공
- 포트 및 대상 포트 변수에 주의
- 1433은 기본 SQL 서버 포트
- 서비스 유형 로드 밸런서는 데이터베이스가 허용하는 공용 IP 주소를 생성
- 유형을 클러스터 IP로 설정하거나 유형 속성을 전혀 설정하지 않은 경우 서비스에는 개인 IP 주소만 있으므로
데이터베이스는 클러스터 내부에서만 사용할 수 있음
When the configuration is complete, use kubectl to deploy the resources specified
in the YAML files
구성이 완료되면 kubectl을 사용하여 YAML 파일에 지정된 리소스를 배포
- kubectl 명령줄 인터페이스를 사용해 파일을 모두 모으고 서버를 배포할 수 있음
- apply -f 파일 이름을 이용해 배포할 수 있고 delete -f 파일 이름을 이용해 모든 것을 삭제 가능