MyTetra Share
Делитесь знаниями!
Развернуть PostgreSQL в Kubernetes
Время создания: 21.09.2018 19:29
Автор: br0ke
Текстовые метки: kubernetes, k8s, kube, kubectl, postgresql, postgres, postgre, db, dbms
Раздел: Информационные технологии - Linux - Kubernetes
Запись: and-semakin/mytetra_data/master/base/1537540154lgba0h6z5a/text.html на raw.githubusercontent.com

1. Создать ConfigMap:


Файл: postgres-configmap.yaml:


apiVersion: v1

kind: ConfigMap

metadata:

name: postgres-config

labels:

app: postgres

data:

POSTGRES_DB: postgresdb

POSTGRES_USER: postgresadmin

POSTGRES_PASSWORD: admin123


Команда:


$ kubectl create -f postgres-configmap.yaml

configmap "postgres-config" created


2. Создать PersistentVolume:


Файл: postgres-storage.yaml:


kind: PersistentVolume

apiVersion: v1

metadata:

name: postgres-pv-volume

labels:

type: local

app: postgres

spec:

storageClassName: manual

capacity:

storage: 5Gi

accessModes:

- ReadWriteMany

hostPath:

path: "/mnt/data"

---

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: postgres-pv-claim

labels:

app: postgres

spec:

storageClassName: manual

accessModes:

- ReadWriteMany

resources:

requests:

storage: 5Gi


Команда:


$ kubectl create -f postgres-storage.yaml

persistentvolume "postgres-pv-volume" created

persistentvolumeclaim "postgres-pv-claim" created


3. Создать Deployment:


Файл: postgres-deployment.yaml:


apiVersion: extensions/v1beta1

kind: Deployment

metadata:

name: postgres

spec:

replicas: 1

template:

metadata:

labels:

app: postgres

spec:

containers:

- name: postgres

image: postgres:10.4

imagePullPolicy: "IfNotPresent"

ports:

- containerPort: 5432

envFrom:

- configMapRef:

name: postgres-config

volumeMounts:

- mountPath: /var/lib/postgresql/data

name: postgredb

volumes:

- name: postgredb

persistentVolumeClaim:

claimName: postgres-pv-claim


Команда:


$ kubectl create -f postgres-deployment.yaml

deployment "postgres" created


4. Создать Service:


Файл: postgres-service.yaml:


apiVersion: v1

kind: Service

metadata:

name: postgres

labels:

app: postgres

spec:

type: NodePort

ports:

- port: 5432

selector:

app: postgres


Команда:


$ kubectl create -f postgres-service.yaml

service "postgres" created



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования