Kubernetes部署Postgresql

news2024/12/23 11:08:03

环境:

Postgresql的Docker镜像 ->参考Docker安装部署Postgresql

Centos7.x + kubernetes1.23.7 + docker1.13.1 + postgres12.7

pg的docker镜像已经上传到云平台。

Kubernetes参考:https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap

基本命令

命令

作用

create

创建资源

kubectl get xx/pod/svc

查询资源

kubectl delete -f xx.yaml

删除资源

运行/调试命令

run

容器运行

logs

查看容器日志

describe

显示资源内部信息

attach

进入容器,建议用exec

exec

进入容器命令行

资源分类

集群资源

node

node节点

集群组成部分

namespace

命名空间

隔离pod

pod资源

pod

pod容器

装载容器的最小单元

服务资源

service

服务

pod对外端口

资源管理

命令式方法

kubectl run postgres-deployment --image=postgres:12.7 --port=5432

文件式配置方法

kubectl apply -f postgres.yaml

使用apply创建资源,

  • 如果资源不存在,就创建,相当于执行kubectl create -f nginx-pod.yaml

  • 如果资源存在,就修改,相当于执行kubectl patch -f nginx-pod.yaml

node

查询全部节点

kubectl get node

删除节点

kuberctl delete node
#work节点清空ini配置
kubeadm reset

namespace

查询全部namespace

kubectl get namespace

#default 未指定namespace的对象被分配再这
#kube-public 可以被所有人访问
#kube-system k8s系统空间,存储k8s资源
#kube-node-lease 集群节点之间心跳

获取namespace某个空间的描述

[root@node9 yaml]# kubectl describe namespace kube-public
Name:         kube-public
Labels:       kubernetes.io/metadata.name=kube-public
Annotations:  <none>
Status:       Active
No resource quota.
No LimitRange resource.

资源管理方法见命令式和文件式方法

pod

获取全部pod

kubectl get pod
#指定namespace
kubectl get pod -n kube-public 

创建pod

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres
data:
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: postgres
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres-deployment
spec:  
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: postgres
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
    spec:
      nodeName: node9
      containers:
        - name: postgres
          image: 10.0.127.9:30012/library/pg127:1.0 #云平台上传镜像地址
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 5432
          envFrom:
            - configMapRef:
                name: postgres-config
          volumeMounts:
            - mountPath: /var/lib/postgresql/data #容器内pgdata
              name: pgdata
      volumes:
        - name: pgdata
          hostPath:
            path: /root/yaml/pgdata-test #与本地磁盘对应
--- 
apiVersion: v1
kind: Service
metadata:
  name: postgres-service
  labels:
    app: postgres
spec:
  type: NodePort
  selector:
   app: postgres
  ports:
  - port: 5432
    targetPort: 5432
    protocol: TCP
    nodePort: 21119  #对外映射端口
    name: postgres

ConfigMap

ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。

https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/

Deployment

一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/

Service

将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。

https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/

应用部署实例

  1. 上传镜像到仓库

  1. 编写yaml文件

  1. 执行kubectl apply -f xxx.yaml部署应用

  1. 查看pod是否成功运行

[root@node9 yaml]# kubectl get pod
NAME                                   READY   STATUS    RESTARTS   AGE
postgres-deployment-794d979c9d-hnwzw   1/1     Running   0          6h19m
  1. 查看应用对应的service

[root@node9 yaml]# kubectl get service
NAME               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes         ClusterIP   x0.xxx.xxx.xx      <none>        443/TCP          57d
postgres-service   NodePort    x0.xxx.xxx.xx   <none>        5432:21119/TCP   6h19m
  1. 尝试外部访问,测试是否能对外部提供服务

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Youngter-drive 题解

1.查壳 32bit&#xff0c;加了UPX壳 2.虚拟机脱壳 Youngter-drive脱壳3.静态分析寻找思路 跟进main_0函数 线程控制的知识不懂&#xff0c;去搜一下函数 createMutexW 函数 创建或打开命名或未命名的互斥对象。 HANDLE CreateMutexW( [in, optional] LPSECURITY_ATTRIBUTES lp…

通信原理笔记—部分响应基带传输系统

目录 基本设计思想&#xff1a; 问题的引入与考虑&#xff1a; 第一类部分响应系统: 定义奈奎斯特脉冲: 定义第一类部分响应系统的冲激响应: 第一类部分响应系统冲激响应与频率特性波形图: 第一类部分响应系统信号波形示例&#xff1a; 编码发送与接收解码过程示例: 第…

Biome-BGC生态系统模型与Python融合技术实践应用

查看原文>>> Biome-BGC生态系统模型与Python融合技术实践应用 Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数&#xff0c;模拟日尺度碳、水和氮通量的有效模型&#xff0c;其研究的空间尺度可以从点尺度扩展到陆地生态系统。 在Biome-BGC模型中&#xf…

Tomcat 源码启动

要想学习 Tomcat 原理&#xff0c;看源码是最直接的方式&#xff0c;而想要理解源码&#xff0c;我们要想把它在本地跑起来。 下载源码 到 Tomcat 的官网 http://tomcat.apache.org 上下载 Tomcat 的源码 下载下来是一个压缩包文件 解压之后目录结构如下 用IDEA打开 在…

redis集群管理工具HHDBCS

参考地址: HHDBCS下载地址 Redis教程 1 快速介绍 1.1 什么是HHDBCS&#xff1f; HHDBCS是恒辉信达公司推出的通用数据库管理桌面工具&#xff0c;专为简化数据库的管理及数据管理成本而设计&#xff0c;让用户通过统一的桌面视图管理成千上万的异构数据库实例。 它采用了…

【Feign】Spring框架集成Feign

Spring框架集成Feign1、Feign-简介2、spring-cloud快速整合OpenFeign3、Feign日志4、Feign契约配置5、Feign配置超时时间6、Feign拦截器7、Feign断路器1、Feign-简介 Feign是Neflix开发的声明式、模块化的HTTP客户端&#xff0c;集成了Ribbon、RestTemplate实现了负载均衡的执…

快收藏,2023有这些财务分析模板就够了

相信很多的财务人都才刚刚经历一个兵荒马乱的年终&#xff0c;各种核算、整理、分析&#xff0c;工作量直线上升&#xff0c;说不定加班几点半个月都未必能歇一下。但不用担心&#xff0c;在接下来的2023里&#xff0c;可以通过BI财务分析报表模板来高效解决这些问题。 BI软件…

[python][VTK]vtk安装后测试代码

测试vtk版本为9.2.5 import vtk cone_a vtk.vtkConeSource() coneMapper vtk.vtkPolyDataMapper() coneMapper.SetInputConnection(cone_a.GetOutputPort()) coneActor vtk.vtkActor() coneActor.SetMapper(coneMapper) ren1 vtk.vtkRenderer() ren1.AddActor(coneActor…

黑马点评项目要点内容总结【面试用】

小众点评项目要点 文章目录小众点评项目要点1.使用Redis代替Session登录1.1 Session登录存在的问题1.2 使用Redis代替Session登录分析1.3 使用Redis登录的流程1.4 解决Redis中有效期问题2.使用Redis作为缓存2.1 为什么使用缓存2.2 缓存策略2.3 解决缓存穿透2.4 解决缓存雪崩2.5…

熵值法原理及python实现 附指标编制案例

文章目录1.简单理解 信息熵2.编制指标 &#xff08;学术情景应用&#xff09;3.python实现3.1 数据准备3.2 数据预处理3.3 熵值、权重计算3.4 编制综合评价指标熵值法也称熵权法&#xff0c;是学术研究&#xff0c;及实际应用中的一种常用且有效的编制指标的方法。1.简单理解 信…

在数组中删除重复数字(详解)

前言&#xff1a;本期是关于删除重复数字的详解&#xff0c;今天你c了吗&#xff1f; 方法&#xff1a; 双指针 以一组数&#xff1a;3 4 1 0 0 2 3 1 1 2 为例删除重复的数字 step 1&#xff1a;排序 使用双下标法的前提是数组有序&#xff08;降序or升序&#xff09; 可以使…

MYSQL命令总结

一.库的操作 1.创建库 create database db1;//创建名为db1的数据库 create database db2 charsetutf8;//创建一个utf8字符集的db2数据库 create database db3 charsetutf8 collate utf8_general_ci;//创建一个使用utf字符集并带校对规则的db3数据库2.字符集和校验规则 show …

[redis+springboot]缓存sql执行结果

场景: 访问controller层(其实是service),需要将其结果缓存到redis,下一次直接从缓存找值,从而减少sql操作,减轻数据库压力技术: redis,springboot,jpa,mysql1, 新建项目2, 导入依赖<?xml version"1.0" encoding"UTF-8"?> <project xmlns"h…

懂了委托,才算真正入门C#

文章目录委托的概念多播委托拖动按钮前文提要&#xff1a;超快速成&#xff0c;零基础掌握C#开发中最重要的概念抽丝剥茧&#xff0c;C#面向对象快速上手Winform&#xff0c;最友好的桌面GUI框架 委托的概念 委托这个名字取的神乎其神的&#xff0c;但实质是函数式编程&#…

网络攻防技术--第五次作业

文章目录作业五一、 什么是恶意代码&#xff1f;恶意代码主要类型有哪些&#xff1f;二、 恶意代码的基本技术主要包括哪几种&#xff1f;三、 什么是特洛伊木马&#xff1f;有什么特点&#xff1f;四、 什么是计算机病毒&#xff1f;其有哪几个基本组成部分&#xff1f;五、 什…

项目管理工具能做什么 它给企业带来哪些作用

一个项目经理&#xff0c;如果要想管理好项目&#xff0c;那么一定要掌握项目管理的方法与工具。在项目管理过程中总会借助一些工具来掌控项目点点滴滴&#xff0c;这不仅可以提高团队的生产力和效率&#xff0c;还可以让项目组织在不同项目带来的影响变化中做好准备。 项目管…

每天一道大厂SQL题【Day03】订单量统计

每天一道大厂SQL题【Day03】订单量统计 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&#xff0c…

SAP 自定义SQL编辑器

导语&#xff1a;自定义SQL编辑器&#xff0c;可使用SAP ABAP的OPEN SQL语法进行编辑&#xff0c;快速出具简单报表&#xff0c;基本具备与SAP中DB02相似的功能。 此资源其中有两个版本&#xff0c;一个版本是网上的代码资料&#xff0c;另一个版本是本人优化过后的&#xff0…

Gerrit3.4.1安装使用

环境依赖jdk11 安装jdk11&#xff1a; 下载&#xff1a; wget https://download.java.net/openjdk/jdk11/ri/openjdk-1128_linux-x64_bin.tar.gz解压&#xff1a; tar zxvf openjdk-1128_linux-x64_bin.tar.gzsudo update-alternatives --install /usr/bin/java java /home/je…

Fiddler抓包工具配置+Jmeter基本使用

目录 一、Fiddler抓包工具的配置和使用 局域网络配置# Fiddler配置# Fiddler抓包实例# 二、Jmeter的基本使用 Jmeter的安装配置# 第一个Jmeter脚本# 一、Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前&#xff0c;得先学会如何抓包&#xff0c;这里以Fiddler为…