티스토리 뷰
1.k8s 으로 postgreSQL DB 생성 PV, PVC , configmap, secret 생성하기
2. Keycloak Docker / postgresql 사용
3. K8s 에서 postsql POD 생성및 터널링 진행
5. 포스트 그레
6. Kubernetes 환경의 PostgreSQL 설치하기
8. postgresql Vacuum 기본에대해 알아보자!
9. PostgreSQL Pod 접속
2024.01.25 - [분류 전체보기] - 터널링 테스트
# DB를 kubernetes에서 pod와 EBS를 활용하여 구성
0. storageclass 생성 (이건 생성 안해도 됨)
스토리지 클래스를 가장 먼서 생성해야 나머지 리소스를 생성하는데 지장이 없다.
# 이건 생성 안해도 됨
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: test-db-storage
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
fsType: ext4
reclaimPolicy: Delete
mountOptions:
- debug
volumeBindingMode: Immediate
*************************************
# PersistentVolume 생성
#postgres-pv-volume.yaml
kind: PersistentVolume
apiVersion: v1
metadata:
name: postgres-pv-volume
namespace: postgres
labels:
type: local
app: postgres
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/mtd/data"
1. PersistentVolumeClaim 생성
- PVC라고 하고 해당 파일을 생성 후 실행하면 실제 EBS에서 볼륨을 생성한다.
- pod가 어떤 pvc를 할당받는지 확인하는 명령어는 kubectl describe {pod_name} -n {namespace_name} 으로 확인 가능하다.
- AWS의 EBS 메뉴에서 확인을 하면 아래와 같이 확인이 가능하다.
- yaml 파일의 내용은 아래와 같다.
#test-db-pv-claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-db-pv-claim
namespace: postgre
labels:
app: postgres
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
- 여기서 주의할 점은 pvc.yaml을 delete 할때 리소스가 삭제되지 않고,
삭제 중에서 멈춰있을 수 있다. 이럴경우를 대비하여 삭제 전에 미리 EBS 볼륨과 연결된 인스턴스를 분리시키는 작업을 선행하는 것이 좋다.
2. deployment 생성
#postgredep.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-db
namespace: postgre
spec:
replicas: 1
selector:
matchLabels:
app: test
tier: postgresql
template:
metadata:
labels:
app: test
tier: postgresql
spec:
containers:
- name: postgres
image: postgres:13.3
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 5432
envFrom:
- secretRef:
name: test-db-secret
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: test-db-pv
volumes:
- name: test-db-pv
persistentVolumeClaim:
claimName: test-db-pv-claim
3. secret 생성
#postgresecret.yaml
apiVersion: v1
kind: Secret
metadata:
name: test-db-secret
namespace: postgre
stringData:
POSTGRES_DB: testdb
POSTGRES_USER: testadmin
POSTGRES_PASSWORD: test00
PGDATA: /var/lib/postgresql/data/pgdata
psql -U testadmin -d testdb
172.16.221.169
4. 생성된 pod 서비스를 확인한다.
- 로그를 먼저 확인
#kubectl logs --tail 1000 -f bcheck-db-5cbf66dd4f-n6xps -n bcheck
PostgreSQL Database directory appears to contain a database; Skipping initialization
2022-11-29 07:45:54.391 UTC [1] LOG: starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2022-11-29 07:45:54.392 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2022-11-29 07:45:54.392 UTC [1] LOG: listening on IPv6 address "::", port 5432
2022-11-29 07:45:54.395 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2022-11-29 07:45:54.400 UTC [26] LOG: database system was shut down at 2022-11-29 07:45:33 UTC
2022-11-29 07:45:54.406 UTC [1] LOG: database system is ready to accept connections
- pod 안으로 접근하기
kubectl exec -it {pod_name} -- bash
컨테이너에서 실행할 명령어(bash) 앞에 -- 을 붙여준다.
- secret에 DB정보와 비밀번호를 세팅 했으므로, 별도의 세팅은 하지 않아도 된다.
- 주의할점은 동일한 네임 스페이스에 존재해야 별도의 작업없이 통신이 가능하다.
- 고려사항으로는 백업을 어떤방식으로 할지, EBS 볼륨의 복구 방법 등 생각해 봐야한다.
5.postgreSQL service 생성
#postgresvc.yaml
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
namespace: postgre
spec:
type: NodePort
ports:
- port: 5432
selector:
app: postgres
postgreSQL연동 test
psql -h localhost -U root --password -p <NodePort> postgresdb
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- 앤시블
- 여러서버 컨트롤
- 스토리지 클레스
- 코로나19
- [오라클 튜닝] sql 튜닝
- 5.4.0.1072
- 테라폼
- directory copy 후 startup 에러
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- 설치하기(HP-UX)
- 튜닝
- CVE 취약점 점검
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- 오라클
- 쿠버네티스
- 우분투
- 버쳐박스
- startup 에러
- [오라클 튜닝] instance 튜닝2
- 커널
- Oracle
- ubuntu
- (InstantClient) 설치하기(HP-UX)
- K8s
- pod 상태
- 오라클 홈디렉토리 copy 후 startup 에러
- 트리이스
- MSA
- 키알리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함