k8s:利用kubectl部署postgis:17-3.5

1.离线环境

CPU:Hygon C86 7285 32-core Processor

操作系统:麒麟操作系统

containerd:1.7.27

Kubernetes:1.26.12

KubeSphere:4.1.2

kubekey:3.1.10

Harbor:2.13.1

Postgis:17-3.5

2.创建并执行postgresql-headless.yaml

2.1创建

apiVersion: v1

kind: Service

metadata:

name: postgresql-headless

labels:

app: postgresql

spec:

ports:

  • name: client

port: 5432

targetPort: 5432

clusterIP: None

selector:

app: postgresql

2.1执行

kubectl apply -f postgresql-headless.yaml

3创建数据库登录用户及密码的Secret

3.1创建

apiVersion: v1

kind: Secret

metadata:

name: postgresql-secret

type: Opaque

data:

使用 base64 编码的用户名和密码

POSTGRES_USER: c2lub3Bz

POSTGRES_PASSWORD: U2lub3BzMTIzNA==

3.2执行

kubectl apply -f postgresql-secret.yaml

4创建postgresql-sts.yaml

4.1创建

apiVersion: apps/v1

kind: StatefulSet

metadata:

name: postgresql

spec:

serviceName: postgresql-headless

replicas: 1

selector:

matchLabels:

app: postgresql

template:

metadata:

labels:

app: postgresql

spec:

containers:

  • name: postgresql

image: 172.23.123.117:8443/library/postgis/postgis:17-3.5

ports:

  • containerPort: 5432

env:

  • name: POSTGRES_DB

value: "CZ_DB"

  • name: POSTGRES_USER

valueFrom:

secretKeyRef:

name: postgresql-secret

key: POSTGRES_USER

  • name: POSTGRES_PASSWORD

valueFrom:

secretKeyRef:

name: postgresql-secret

key: POSTGRES_PASSWORD

  • name: TZ

value: "Asia/Shanghai"

volumeMounts:

  • name: postgresql-data

mountPath: /var/lib/postgresql/data

volumeClaimTemplates:

  • metadata:

name: postgresql-data

spec:

accessModes: [ "ReadWriteOnce" ]

storageClassName: local-postgresql

resources:

requests:

storage: 10Gi

4.2执行

kubectl apply -f postgresql-sts.yaml

5创建postgresql-service.yaml

5.1创建

apiVersion: v1

kind: Service

metadata:

name: postgresql-service

spec:

type: NodePort

ports:

  • port: 5432

targetPort: 5432

nodePort: 30084

selector:

app: postgresql

5.2执行

kubectl apply -f postgresql-service.yaml

6客户端连接

相关推荐
虚伪的空想家2 小时前
K8S删除命名空间卡住一直Terminating状态
云原生·容器·kubernetes·删除·卡顿·delete·命名空间
learning_tom2 小时前
HTML图片标签及路径详解
linux·服务器·php
dbdr09012 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
大白的编程日记.3 小时前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
buyutang_3 小时前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
云的牧人3 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu
siriuuus3 小时前
Linux 磁盘扩容及分区相关操作实践
linux·运维·服务器
衍余未了3 小时前
k8s除了主server服务器可正常使用kubectl命令,其他节点不能使用原因,以及如何在其他k8s节点正常使用kubectl命令??
云原生·容器·kubernetes
Clownseven3 小时前
Mattermost教程:用Docker搭建自己的开源Slack替代品 (团队聊天)
docker·容器·开源
❀͜͡傀儡师3 小时前
Docker部署Drawnix开源白板工具
docker·容器·开源·drawnix