1. PV 생성
apiVersion: v1
kind: PersistentVolume
metadata:
name: test-mysql
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/user/test-mysql"
2. Deployment 생성
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-mysql
labels:
app: test-mysql
spec:
replicas: 1
selector:
matchLabels:
app: test-mysql
template:
metadata:
labels:
app: test-mysql
spec:
containers:
- name: mysql
image: mysql:8.0.26
volumeMounts:
- name: volume1
mountPath: /var/lib/mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: test-mysql-root
key: password
- name: MYSQL_DATABASE
value: wmwm
ports:
- containerPort: 3306
volumes:
- name: volume1
persistentVolumeClaim:
claimName: test-mysql-pvc
3. PVC 생성
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-mysql-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
4. Secret 생성
apiVersion: v1
kind: Secret
metadata:
name: test-mysql-root
type: Opaque
data:
password: 원하는 비밀번호를 base64인코딩하여 넣어준다.
5. Service 생성
apiVersion: v1
kind: Service
metadata:
name: test-mysql-svc
spec:
selector:
app: test-mysql
ports:
- name: http
port: 3306
protocol: TCP
targetPort: 3306
nodePort: 30035 #지정 안하면 범위 내에서 임의의 포트 지정
type: NodePort
...근데 mysql pod 들어가서 접속 시도하면 되질 않는다.
무엇을 잘못했는지 알 수가 없당
일단 mysql image에 따라 다르다!
mysql 이미지를 8.0.26으로 지정하다가
5.6 으로 낮추니 잘 되는 것을 확인했다.
하지만 8.0.25나 그 외 8점대 버전은 계속 실패하는 듯 하다.
예전에 어떻게 됐는지 신기하여 k8s 설정을 확인해보니...
image: 'docker.io/bitnami/mysql:8.0.25-debian-10-r16'
위와 같이 선언이 되어있길래 따라했는데 잘된다...??
너무 시간이 늦어서 이 뒤는 다음에 확인하는 걸로....ㅠㅠ
반응형
'IT 공부 > 주절주절 일기 같은 곳' 카테고리의 다른 글
apache에서 DNS 2개 SSL 설정 해보기 (feat. L4 헬스 체크) (0) | 2022.05.19 |
---|---|
다국어 적용은 미리 해놓거라 (0) | 2022.04.15 |
그냥 써보는 git flow 이야기 (0) | 2022.03.04 |
그냥 최근의 삽질 - 1 (feat. WebClient) (0) | 2021.12.09 |
댓글