网站开发外包哪家好,哈尔滨一恒建设,图列说明网站开发的流程,酒泉如何做百度的网站#xff08;作者#xff1a;陈玓玏#xff09;
一、前置条件
已部署k8s#xff0c;服务端版本为1.21.14
二、部署postgresql
拉取镜像#xff0c;docker pull postgres#xff0c;不指定版本#xff0c;自动从docker hub拉取最新版本#xff1b;配置configmap…作者陈玓玏
一、前置条件
已部署k8s服务端版本为1.21.14
二、部署postgresql
拉取镜像docker pull postgres不指定版本自动从docker hub拉取最新版本配置configmap保存postgresql的用户名、密码等信息注意密码如果是数字需要用双引号裹起来
apiVersion: v1
kind: ConfigMap
metadata:name: pg-configlabels:app: postgres
data:POSTGRES_DB: pgdbPOSTGRES_USER: pgadminPOSTGRES_PASSWORD: 123456创建 Postgres ConfigMap 资源kubectl apply -f postgresql.yaml 3. 持久卷声明创建pv和pvc用于数据的持久化存储
kind: PersistentVolume
apiVersion: v1
metadata:name: pg-pv-volumelabels:type: localapp: postgres
spec:storageClassName: manualcapacity:storage: 5GiaccessModes:- ReadWriteManyhostPath:path: /home/postgresql/data
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: pg-pv-claimlabels:app: postgres
spec:storageClassName: manualaccessModes:- ReadWriteManyresources:requests:storage: 5Gi保存后通过kubectl apply -f创建pv及pvc。 4. 创建deployment
apiVersion: apps/v1
kind: Deployment
metadata:name: pg-deployment
spec:strategy:type: Recreateselector:matchLabels:app: postgresreplicas: 1template:metadata:labels:app: postgresspec:containers:- name: postgresimage: postgres:11.5imagePullPolicy: IfNotPresentports:- containerPort: 5432envFrom:- configMapRef:name: pg-configvolumeMounts:- mountPath: /var/lib/postgresql/dataname: postgredbvolumes:- name: postgredbpersistentVolumeClaim:claimName: pg-pv-claim主要是要注意其中selector的app和metadata中的app名称要一致另外引入的configmap名称要和前面的configmap一致等等。创建好yaml文件后通过kubectl创建deployment。replica写1就好数据库的副本数一般1就够了避免读写冲突。
pg的版本如果不记得可以通过docker images |grep postgresql查一下。 5. 创建service对外暴露服务入口
apiVersion: v1
kind: Service
metadata:name: pg-servicelabels:app: postgres
spec:type: NodePortports:- port: 5432targetPort: 5432protocol: TCPselector:app: postgres注意targetPort要和deployment暴露出来的一致否则无法转发到deployment创建的pod。同样写好yaml之后通过kubectl apply -f创建service。
三、验证部署结果
验证部署是否成功 service可以查询到再尝试下使用pg首先下载一个pg的客户端apt -y install postgresql-client-12下载完成后登录pg通过psql -U pgadmin -h 10.43.25.238 -p 5432 pgdb登录pg数据库名、用户名、密码、端口、ip在前面都可以找到能够登录即部署成功。登录成功如下
参考
https://hanggi.me/post/kubernetes/k8s-postgresql/https://stackoverflow.com/questions/28290488/get-error-you-must-install-at-least-one-postgresql-client-version-package-whehttps://blog.csdn.net/dujidan/article/details/128862899