本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

postgres-operator Docker 镜像下载 - 轩辕镜像

postgres-operator 镜像详细信息和使用指南

postgres-operator 镜像标签列表和版本信息

postgres-operator 镜像拉取命令和加速下载

postgres-operator 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

postgres-operator
movetokube/postgres-operator

postgres-operator 镜像详细信息

postgres-operator 镜像标签列表

postgres-operator 镜像使用说明

postgres-operator 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Kubernetes的外部PostgreSQL服务器操作器,可通过自定义资源(CR)创建数据库和角色,生成包含连接信息的Kubernetes密钥,并支持AWS RDS和Azure PostgreSQL等云服务。
0 次下载activemovetokube镜像

postgres-operator 镜像详细说明

postgres-operator 使用指南

postgres-operator 配置说明

postgres-operator 官方文档

Kubernetes外部PostgreSQL服务器操作器

概述和主要用途

该操作器用于在Kubernetes环境中管理外部PostgreSQL服务器,通过自定义资源(CR)实现数据库和角色的声明式创建,自动生成包含数据库连接信息的Kubernetes密钥,简化外部PostgreSQL服务与Kubernetes应用的集成。

核心功能和特性

  • 通过自定义资源(CR)创建数据库
  • 通过CR创建具有随机用户名和密码的角色
  • 若数据库已存在,仅创建角色
  • 多个用户角色可拥有同一个数据库
  • 在CR所在命名空间创建包含postgres_uri的Kubernetes密钥
  • 支持AWS RDS和Azure Database for PostgreSQL

使用场景和适用范围

适用于Kubernetes环境中需要管理外部PostgreSQL数据库的场景,支持通过自定义资源实现数据库和用户角色的声明式管理,适用于AWS RDS或Azure PostgreSQL等云托管PostgreSQL服务的集成。

云服务特定配置

AWS

要使操作器与AWS RDS正常工作,需将POSTGRES_CLOUD_PROVIDER设置为AWS,可通过ext-postgres-operator的Kubernetes密钥或直接在部署清单(operator.yaml)中配置。

Azure Database for PostgreSQL

要使操作器与Azure托管PostgreSQL数据库正常工作,需为操作器提供两个环境变量:

  • POSTGRES_CLOUD_PROVIDER设置为Azure
  • POSTGRES_DEFAULT_DATABASE设置为默认数据库,例如postgres

安装步骤

前提条件

操作器需要在其所在命名空间中创建Kubernetes Secret,该Secret需包含以下键:POSTGRES_HOST、POSTGRES_USER、POSTGRES_PASS、POSTGRES_URI_ARGS、POSTGRES_CLOUD_PROVIDER、POSTGRES_DEFAULT_DATABASE。

Secret示例

yaml
apiVersion: v1
kind: Secret
metadata:
  name: ext-postgres-operator
  namespace: operators
type: Opaque
data:
  POSTGRES_HOST: cG9zdGdyZXM=  # base64编码的PostgreSQL主机地址
  POSTGRES_USER: cG9zdGdyZXM=  # base64编码的PostgreSQL管理员用户名
  POSTGRES_PASS: YWRtaW4=      # base64编码的PostgreSQL管理员密码
  POSTGRES_URI_ARGS: IA==      # base64编码的URI参数(可选)
  POSTGRES_CLOUD_PROVIDER: QVdT  # base64编码的云服务提供商(AWS/Azure)
  POSTGRES_DEFAULT_DATABASE: cG9zdGdyZXM=  # base64编码的默认数据库名

安装操作器

执行以下步骤安装操作器:

  1. deploy/secret.yaml中配置PostgreSQL凭证
  2. 创建自定义资源定义(CRD):
    bash
    kubectl apply -f deploy/crds/db.movetokube.com_postgres_crd.yaml
    kubectl apply -f deploy/crds/db.movetokube.com_postgresusers_crd.yaml
    
  3. 创建命名空间:
    bash
    kubectl apply -f deploy/namespace.yaml
    
  4. 应用Secret:
    bash
    kubectl apply -f deploy/secret.yaml
    
  5. 应用RBAC配置:
    bash
    kubectl apply -f deploy/role.yaml
    kubectl apply -f deploy/role_binding.yaml
    kubectl apply -f deploy/service_account.yaml
    
  6. 部署操作器:
    bash
    kubectl apply -f deploy/operator.yaml
    

自定义资源(CR)定义

Postgres CR

用于定义数据库及相关配置的自定义资源。

yaml
apiVersion: db.movetokube.com/v1alpha1
kind: Postgres
metadata:
  name: my-db  # CR名称
  namespace: app  # 命名空间
spec:
  database: test-db  # 在PostgreSQL中创建的数据库名称
  dropOnDelete: false  # 可选,设为true时删除CR将删除数据库和角色
  masterRole: test-db-group  # 可选,数据库的主角色名称
  schemas:  # 可选,操作器在数据库中创建的模式列表
  - stores
  - customers
  extensions:  # 可选,在数据库中创建的扩展列表
  - fuzzystrmatch
  - pg***

功能说明:创建名为test-db的数据库及test-db-group主角色,同时创建具有读写权限的角色(test-db-writertest-db-reader),并对指定模式下的所有表赋予相应权限。

PostgresUser CR

用于定义数据库用户角色的自定义资源,需引用同一命名空间中的Postgres CR。

yaml
apiVersion: db.movetokube.com/v1alpha1
kind: PostgresUser
metadata:
  name: my-db-user  # CR名称
  namespace: app  # 命名空间(需与引用的Postgres CR相同)
spec:
  role: username  # 角色名前缀
  database: my-db  # 引用的Postgres CR名称
  secretName: my-secret  # 存储凭证的密钥名称前缀
  privileges: OWNER  # 权限类型,可选OWNER/READ/WRITE

功能说明:创建用户角色(名称格式为username-<hash>),根据privileges赋予对应权限(OWNER对应test-db-group、WRITE对应test-db-writer、READ对应test-db-reader),凭证存储在名称为my-secret-my-db-user的密钥中。

注意:多个命名空间中可存在引用同一数据库的Postgres CR,最后一个引用该数据库的CR被删除时,将删除主角色并将数据库所有权转移给操作器使用的角色。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"