조타 도표에서 /docker-entrypoint-initdb.d에 액세스하는 방법
https://github.com/helm/charts/tree/master/stable/mariadb#initialize-a-fresh-instance의 공식 조타 차트를 사용하여 MariaDB의 새로운 인스턴스(/docker-entrypoint-initdb.d에 .sql 파일을 저장)를 초기화하려고 합니다.
하지만 설명서가 상당히 불분명합니다.
스크립트를 실행하려면 해당 스크립트가 차트 폴더 내에 있어야 합니다.
files/docker-entrypoint-initdb.d
ConfigMap으로 사용할 수 있습니다.
제가 하는 일은 마리애드브 클러스터를 셋업하기 위해서helm install --name my-release stable/mariadb -f values-production.yaml
나는 꽤 혼란스럽다.
이 폴더는 어디에 있습니까?
편집
https://github.com/helm/charts/tree/master/stable/mariadb을 다운로드하여 (폴더 전체를) 배치하고 SQL 파일을 저장했습니다.files/docker-entrypoint-initdb.d
.
그리고 나서 나는helm package ./mariadb
이어서helm install ./mariadb -f ./mariadb/values-production.yaml
그러나 마스터 포드는 "CrashLoopBackOff" 상태로 되어 있습니다.
마스터 로그는 다음과 같습니다.
==> ** Starting MariaDB setup **
==> Validating settings in MYSQL_*/MARIADB_* env vars..
==> Initializing mariadb database...
==> Persisted data detected. Restoring...
==> Loading user's custom files from /docker-entrypoint-initdb.d ...
==> Stopping mariadb...
나도 이 방법을 시도했지만, db가 계속 다운되고 있어
kubectl create configmap db-scheme --from-file=db.sql
helm install --name db-test stable/mariadb -f .values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD --set initdbScriptsConfigMap=db-scheme
로그는 다음과 같습니다.
편집 2
라는 이름의 폴더를 만들었습니다.files/docker-entrypoint-initdb.d
현재 디렉토리:
.
├── values-production.yml
│
├── files
│ └── docker-entrypoint-initdb.d
│ └── db.sql
현재 디렉토리에서 다음 명령을 실행합니다.
helm install --name test stable/mariadb -f .\values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD
SQL 테이블이 없어도 MariaDB가 부팅됩니다.
제 문제는 생각보다 복잡합니다.https://github.com/bitnami/bitnami-docker-mariadb/issues/182
컨피규레이션맵을 작성하는 것은 이와는 별도로 기능합니다.
kubectl create configmap db-scheme --from-file=db.sql
helm install --name db-test stable/mariadb -f .values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD --set initdbScriptsConfigMap=db-scheme
이 차트는 조금 어색하지만 설명하겠습니다.이 설정 맵은 (상대적인) 폴더 정보를 읽어낼 것입니다.values.yaml
패스)
운을 위해 두 가지 대안을 더 제시하겠습니다.
언급URL : https://stackoverflow.com/questions/55732061/accessing-docker-entrypoint-initdb-d-from-helm-chart
'source' 카테고리의 다른 글
서버를 재부팅하지 않고 .env 변수 새로고침(Larabel 5, 공유 호스팅) (0) | 2023.01.15 |
---|---|
피어에 의해 TCP 소켓이 정상적으로 닫힌 것을 I/O를 시도하지 않고 검출할 수 없는 이유는 무엇입니까? (0) | 2023.01.15 |
PyCrypto AES 256을 사용한 암호화 및 복호화 (0) | 2023.01.15 |
MySQL - 그룹화 기준 이외의 컬럼 선택 (0) | 2023.01.15 |
리소스 컨트롤러의 Larabel 명명된 경로 (0) | 2023.01.15 |