k8s下部署postgresql

news/2025/3/6 17:53:11/文章来源:https://www.cnblogs.com/hxlasky/p/18756023

环境:

OS:Centos 7

k8s:1.28

pg:16.6

 

1.创建名称空间

kubectl create namespace ns-pg

 

2.配置configmap

保存postgresql的用户名、密码等信息,注意密码如果是数字,需要用双引号裹起来

vi 1-configmap.yaml

[root@master pg]# more 1-configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: pg-confignamespace: ns-pglabels:app: postgres
data:POSTGRES_PASSWORD: "postgres"

 

我们这里只配置了密码,使用默认的postgres账号和postgres数据库

kubectl apply -f 1-configmap.yaml

 

3.创建pv
创建nfs子目录
mkdir -p /k8s/pg/data

[root@master pg]# more 2-pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:name: pg-pvnamespace: ns-pg
spec:accessModes:- ReadWriteOncecapacity:storage: 200Mnfs:path: /k8s/pg/datareadOnly: falseserver: 192.168.1.102

 

kubectl apply -f 2-pv.yaml

 

4.创建pvc

[root@master pg]# more 3-pvc.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pg-pvcnamespace: ns-pg
spec:accessModes:- ReadWriteOnceresources:requests:storage: 200MvolumeName: pg-pv

 

kubectl apply -f 3-pvc.yaml

 

5.创建deployment
vi 4-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:namespace: ns-pgname: pg-deployment
spec:strategy:type: Recreateselector:matchLabels:app: postgresreplicas: 1template:metadata:labels:app: postgresspec:containers:- name: postgresimage: registry.cn-shenzhen.aliyuncs.com/hxlk8s/postgresql:16.6imagePullPolicy: "IfNotPresent"ports:- containerPort: 5432envFrom:- configMapRef:name: pg-config ##configmap名称要和前面的configmap一致volumeMounts:- mountPath: /var/lib/postgresql/dataname: postgredbvolumes:- name: postgredbpersistentVolumeClaim:claimName: pg-pvc

 

kubectl apply -f 4-deployment.yaml

 

6.创建nodeport提供外部访问

[root@master pg]# more 5-nodeport.yaml 
apiVersion: v1
kind: Service
metadata:name: pg-servicenamespace: ns-pglabels:app: postgres
spec:type: NodePortports:- port: 5432targetPort: 5432protocol: TCPnodePort: 30001selector:app: postgres

 

kubectl apply -f 5-nodeport.yaml

 

7.客户端登录
在一个worker节点上安装pg客户端
#安装PostgreSQL的yum仓库
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

#安装PostgreSQL 14版本
yum install -y postgresql14-server

 

登录

psql -U postgres -h 192.168.1.102 -p 30001 postgres

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894722.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Webshell不出网】reGeorg和Pystinger的使用

reGeorg+Proxifier: 在实战情况下有时会遇到外网Getshell准备内网渗透的时候发现目标机器不出网,所以就会用映射,代理..等等方式进行上线。 reGeorg项目地址为: https://gitcode.net/mirrors/sensepost/reGeorg?utm_source=csdn_github_acceleratorProxifier地址: https:…

【测试】钩子测试

图片钩子测试 仅收集了访问数据,未使用任何js信息,未窃取任何cookie 只用于匿名数据收集,以及,好玩。

什么!GIS地形与数字孪生结合,竟然能做出如此有趣的效果!

山海鲸可视化支持添加ArcGIS和Cesium地形,并且添加后的GIS地形能够完美与整个数字孪生系统进行融合。同时,我们也可以对GIS地形进行编辑,通过鼠标点击圈选编辑区域,可以将区域内的地形压平、抬升或下沉,结合数字孪生能够实现许多有趣的效果。下面我们就来看看,如何在山海…

中国PostgreSQL考试认证体系

中国PostgreSQL考试认证体系 一、关于举办PostgreSQL研修与评测的通知 为深入贯彻党的二十大和全国新型工业化推进大会精神,落实《关于加强和改进工业和信息化人才队伍建设的实施意见》等文件精神,由北京神脑资讯技术有限公司主办的PostgreSQL数据库管理人才研修与评测班将于…

模型上新!来通义灵码体验 QwQ-32B 推理模型!

通义灵码目前已经支持 QwQ-plus 模型,欢迎大家在【智能问答】里,选择切换模型,即可体验更小尺寸、更强性能的新模型!今天,阿里云发布并开源全新的推理模型通义千问QwQ-32B。通过大规模强化学习,千问QwQ-32B在数学、代码及通用能力上实现质的飞跃,整体性能比肩DeepSeek-R…

python install spacy 报错解决

python install spacy 法1 修改setuptool版本(无效)法2 安装前置依赖(无效)pip install numpy cython jinja2 pathlib preshed thinc cymem murmurhash blis plac 法3 使用预编译的轮子文件安装(有效)pip install --prefer-binary spacy

可视化大屏出圈密码: 地图组件深度解析

01 组件介绍 在数据可视化大屏搭建中,地图组件是使用最频繁且重要的组件之一。它不但能直观展现地理方位相关信息,还能通过与标记点、飞线、图表等各类组件巧妙搭配,达成更加多元、生动的数据呈现效果,在众多行业领域都得到了广泛应用。鉴于其强大的适配能力,面对包含地理…

.NET 9.0 全栈技术的高效开源低代码平台(Vue3+Element-Plus)

前言 推荐一款基于.NET 9.0 全栈框架的新一代技术架构(Vue3+Element-Plus),开源低代码平台-Microi吾码。 平台不仅无限制地支持用户数、表单数、数据量及数据库数量,还通过跨平台兼容性实现了对多种开发语言的支持,并确保了在不同数据库间的无缝操作。 它还具备分布式部署…

Hula项目部署(桌面即时通讯应用程序)

后端项目部署: HuLaSpark/HuLa-Server: ☕️ HuLa 服务端,基于SpringBoot3 + Netty + MP + RocketMQ docker-compose.yml没有修改,有需要的话自行调整即可,我这里只是为了演示。 以下的命令在linux下运行,且windows可以直接访问 docker-compose up -d 直接拉取镜像启动存储…

linux核心命令

1、查询帮助命令 man ls help info2、文件和目录操作命令 ls # 仅了列出当前目录可见文件 ls -l # 列出当前目录可见文件详细信息 ls -hl # 列出相信信息并以可读大小显示文件大小 ls -al # 列出所有文件(包含隐藏)的详细信息 ls --human-r…

软工作业2-个人项目

项目地址 YiLaiL的个人项目 PSP表格PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)Planning 计划 10 30 Estimate估计这个任务需要多少时间 10 30Development 开发 455 640 Analysis需求分析 (包括学习新技术) 30 120 Design Spec生成设计文…

Easyexcel(3-文件导出)

EasyExcel 是一个便捷、高效的Excel读写库,尤其在大数据量的文件导出场景中表现出色。其核心优势在于减少内存占用和提升数据处理速度,适合用于Java项目中大批量数据的导出。响应头设置 通过设置文件导出的响应头,可以自定义文件导出的名字信息等 //编码格式为UTF-8 respons…