반응형
쿠베르네테스에서 마리아DB를 폭로하는 방법은?
Microk8s(단일 유닉스 시스템에서 실행)에서 실행되는 MariaDB가 있는 Docker 컨테이너가 있습니다.
# Hello World Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: mariadb
spec:
selector:
matchLabels:
app: mariadb
template:
metadata:
labels:
app: mariadb
spec:
containers:
- name: mariadb
image: mariadb:latest
env:
- name: MARIADB_ROOT_PASSWORD
value: sa
ports:
- containerPort: 3306
로그는 다음과 같습니다.
(...)
2021-09-30 6:09:59 0 [Note] mysqld: ready for connections.
Version: '10.6.4-MariaDB-1:10.6.4+maria~focal' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
지금이다,
- 기기의 포트 3306에 연결할 수 없습니다.
- 포트 8081의 서비스(모든 유형)로 포드를 노출한 후 연결해도 작동하지 않습니다.
어떻게 하면 연결이 되나요?
답변은 댓글 섹션에 작성되었지만, 명확하게 하기 위해 커뮤니티 위키로 솔루션을 게시합니다.
이 경우 연결 문제는 설정을 통해 해결되었습니다.
그
.spec.selector
필드는 배포에서 관리할 포드를 찾는 방법을 정의합니다.이 경우 Pod 템플릿에 정의된 레이블을 선택합니다.app: nginx
).
.spec.selector
이 배포의 대상이 되는 포드의 레이블 선택기를 지정하는 필수 필드입니다.
적절한 레이블로 서비스를 사용해야 합니다.
서비스 예시
apiVersion: v1
kind: Service
metadata:
name: mariadb
spec:
selector:
name: mariadb
ports:
- protocol: TCP
port: 3306
targetPort: 3306
type: ClusterIP
서비스 이름을 사용하여 연결하거나 서비스 유형을 LoadBalancer로 변경하여 IP로 노출할 수 있습니다.
apiVersion: v1
kind: Service
metadata:
name: mariadb
spec:
selector:
name: mariadb
ports:
- protocol: TCP
port: 3306
targetPort: 3306
type: LoadBalancer
언급URL : https://stackoverflow.com/questions/69387287/how-to-expose-mariadb-in-kubernetes
반응형
'it-source' 카테고리의 다른 글
포믹 및 재료-UI (0) | 2023.07.10 |
---|---|
Vue Router + Vuex: 각 경로 가드가 Vuex 상태 변경을 대기하기 전에 만드는 방법은 무엇입니까? (0) | 2023.07.10 |
외부 키 제약 조건을 비활성화하지 않고 트랜잭션 내에서 참조 무결성을 잠시 중단하려면 어떻게 해야 합니까? (0) | 2023.07.10 |
내장된 Tomcat 서버에 context.xml 파일을 추가하는 방법 (0) | 2023.07.10 |
합이 상수 K - Excel인 N개의 난수 생성 (0) | 2023.07.10 |