你会了吗-快速上手Zalando-Operator-Postgres (你会吗英文怎么说呢)

教程大全 2025-07-16 14:33:16 浏览

快速上手Zalando Postgres Operator,你会了吗?

2022-04-08 00:01:41只需应用 yaml 清单即可安装 Postgres Operator。注意,我们提供的 /manifests 目录仅作为示例;您应该考虑将清单调整为您的 K8s 环境(例如:命名空间)。

前提条件

由于 Postgres Operator 是为 Kubernetes (K8s) 框架设计的,因此首先设置它。对于本地测试,我们建议使用以下解决方案之一:

要与 K8s 基础设施交互,请安装其 CLI 运行时 kubectl。

本快速入门假设您已经启动了 minikube 或创建了本地 kind 集群。请注意,您还可以使用 Docker Desktop for Mac 中内置的 K8s 支持来遵循本教程的步骤。您必须将 minikube start 和 minikube delete 替换为您的启动操作,以获得 Docker 内置的 K8s 支持。

配置选项

只能在部署新的 Postgres 集群之前配置 Postgres Operator。这可以通过两种方式工作:通过 ConfigMap 或自定义 OperatorConfiguration 对象。有关配置的更多详细信息,请参见此处。

部署选项

Postgres Operator 可以通过以下方式部署:

Kubernetes 上的手动部署设置

只需应用 yaml 清单即可安装 Postgres Operator。注意,我们提供的 /manifests 目录仅作为示例;您应该考虑将清单调整为您的 K8s 环境(例如:命名空间)。

# 首先,克隆存储库并切换到目录git clonepostgres-operator# 按以下顺序应用清单kubectl create -f manifests/configmap.yaml# 配置kubectl create -f manifests/operator-service-account-rbac.yaml# 身份和权限kubectl create -f manifests/postgres-operator.yaml# 部署kubectl create -f manifests/api-service.yaml# 通过 UI 使用 operator API

有一个 Kustomization manifest 结合了上述资源(CRD 除外)— 它可以与 kubectl 1.14 或更高版本一起使用,如下所示:

kubectl apply -k github.com/zalando/postgres-operator/manifests

为方便起见,我们使用 run_operator_locally 脚本通过 minikube 自动启动 operator。它应用 acid-minimal-cluster。清单。

./run_operator_locally.sh

OpenShift 上的手动部署设置

要在 OpenShift 中安装 Postgres Operator,您必须将配置参数 kubernetes_use_configmaps 更改为 “true”。否则,operator 和 Patroni 将在 OpenShift 不支持的 Endpoints 中存储 leader 和配置 keys。对于 postgres-operator 和 postgres-pod 集群角色,这还需要一组稍微不同的规则。

oc create -f manifests/operator-service-account-rbac-openshift.yaml

或者,可以使用提供的 Helm chart 安装 operator,从而为您节省手动步骤。克隆此 repo 并将目录更改为 repo 根目录。安装 Helm v3 后,您应该能够运行:

helm install postgres-operator ./charts/postgres-operator

该 chart 适用于 Helm 2 和 Helm 3。使用 v3 时,将跳过 v2 中的 crd-install hook 并发出警告。使用 Helm 2 安装应用程序的文档可以在 v2 文档中找到。

该 chart 还托管在:

检查 Postgres Operator 是否正在运行

启动 operator 可能需要几秒钟。在应用 Postgres 集群清单之前检查 operator pod 是否正在运行。

# 如果您使用 yaml 清单创建了 operatorkubectl get pod -l name=postgres-operator# 如果您使用 helm chart 创建了 operatorkubectl get pod -l app.kubernetes.io/name=postgres-operator

如果 operator 没有进入 Running 状态,请使用 kubectl describe 检查 deployment 或 pod 的最新 K8s 事件或检查 operator 日志:

kubectl logs "$(kubectl get pod -l name=postgres-operator --output='name')"

部署 operator UI

在以下段落中,我们将描述如何使用 kubectl 从命令行访问和管理 PostgreSQL 集群。但也可以通过基于浏览器的 Postgres Operator UI 来完成。在部署 UI 之前,请确保 operator 正在运行,并且可以通过 K8s service 访问其 REST API。此 API 的 URL 必须在 UI 的部署清单中配置。

要部署 UI,只需应用其所有清单文件或使用 UI helm chart:

# 手动部署kubectl apply -f ui/manifests/# 或 kustomizationkubectl apply -k github.com/zalando/postgres-operator/ui/manifests# 或 helm charthelm install postgres-operator-ui ./charts/postgres-operator-ui

与 operator 一样,检查 UI pod 是否进入 Running 状态:

# 如果您使用 yaml 清单创建了 operatorkubectl get pod -l name=postgres-operator-ui# 如果您使用 helm chart 创建了 operatorkubectl get pod -l app.kubernetes.io/name=postgres-operator-ui

您现在可以通过端口转发 UI pod(注意 label selector)访问 Web 界面,并在浏览器中输入 localhost:8081:

kubectl port-forward svc/postgres-operator-ui 8081:80

UI 文档中详细解释了可用选项。

创建 Postgres cluster

如果 operator pod 正在运行,它会侦听有关 postgresql 资源的新事件。现在,是时候提交您的第一个 Postgres 集群清单了。

# 创建一个 Postgres clusterkubectl create -f manifests/minimal-postgres-manifest.yaml

在 cluster 清单提交并通过验证后,operator 将创建 Service 和 Endpoint 资源以及一个 StatefulSet,它根据清单中指定的实例数量启动新的 Pod。所有资源都像 cluster 一样命名。数据库 pod 可以通过它们的数字后缀来识别,从 -0 开始。他们运行 Zalando 的 Spilo 容器镜像。至于 services 和 endpoints,将有一个用于 master pod,另一个用于所有副本(-repl 后缀)。检查是否所有组件都出现了。使用标签 application=spilo 过滤并列出标签 spilo-role 以查看当前谁是 master。

# 检查部署的 clusterkubectl get postgresql# 检查创建的>通过 psql 连接到 Postgres cluster

您可以在>删除 Postgres cluster

要删除 Postgres 集群,只需删除 postgresql 自定义资源。

kubectl delete postgresql acid-minimal-cluster

这应该删除关联的 StatefulSet、database Pods、Services 和 Endpoints。PersistentVolume 被释放,PodDisruptionBudget 被删除。但是,Secrets 不会被删除,并且备份将保留在原位。

在集群仍在启动或在该阶段卡住时删除集群时,可能会删除 postgresql 资源,留下孤立的组件。在创建新的 Postgres 集群时,这可能会导致麻烦。对于全新的设置,您可以删除本地 minikube 或 kind 集群并重新开始。

Operator


吉他如何最快上手学会?

首先我要知道你要学什么风格的吉他,民谣吉他,电吉他,古典吉他等等.不过多数人是从民谣开始,我建议你每天2小时以上,学习C调的7个和弦.克服F和弦,然后练习独奏,即兴,转入电声.前提:拍子要准,手指力度每天必练.

win10系统安装一直出现快速上手这个步骤,怎么办?

方法如下:1,对Win10进行个性化设置,可以直接点击右下角的“使用快速设置”来使用默认设置,也可以点击屏幕左下角的“自定义设置”来逐项安排。 2,点击“自定义设置”来看一下究竟有哪些详细设置。 你可以在选项中选择可向微软发送的数据信息。 但要注意,如果关闭“位置”信息,则当前设备无法定位。 点击“下一步”后完成这部分设置。 3、选择当前设备的归属,如果是个人用户,选择“我拥有它”;企业和组织用户可选择“我的组织”后点击“下一步”继续。 4、输入微软账户信息后登录Win10。 如果没有微软账户可以点击屏幕中间的“创建一个”,也可以点击左下方“跳过此步骤”来使用本地账户登录。 5、本地账户创建页面,和Win7安装类似,填写用户名并且设置密码和密码提示后(必填),点击“下一步”即可。 6、等待Win10进行应用设置,使用微软账户登录的用户需要等待更长时间。 7、设置完成后直接进入Win10桌面,安装结束。

JSP ASP PHP那个好

PHPPHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言。 它大量地借用C和Perl语言的语法, 并结合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。 PHP是完全免费的开源产品,不用花钱,Apache和MySQL也是用样免费开源,在国外非常流行,PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。 通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。 PHP的语法和Perl很相似,但是PHP所包含的函数却远远多于Perl,PHP没有命名空间,编程时候必须努力避免模块的名称冲突。 一个开源的语言虽然需要简单的语法和丰富的函数,但PHP内部结构的天生缺陷导致了PHP不适合于编写比小型业余网站更大的网站。 PHP开发的成功案例:MediaWiki — 著名的维基百科(Wiki)程序,如此庞大的条目居然只用PHP+MYSQL就能够支持,真是不可思议。 WordPress — 著名的Blog系统,功能上丝毫不输于Movable Type,不少用户都纷纷从Movable Type转移到了WordPress。 结论:PHP因为结构上的缺陷,使的其只适合编写小型的网站系统。 ASP ASP(Active Server Pages)微软的Windows IIS系统自带的脚本语言,利用它可以执行动态的Web服务应用程序。 ASP的语法非常类似Visual BASIC,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。 但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 不过,正因为ASP很简单,所以单纯使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技术拯救了ASP,微软提供了COM/DCOM技术,极大拓宽了ASP的应用范围,使得ASP几乎具有无限可扩充性。 结论:ASP简单而易于维护,是小型网站应用的最佳选择,通过DCOM和MTS技术,ASP甚至还可以完成中等规模的企业应用。 JSPJSP(JavaServer Pages)是Sun公司推出的一种动态网页技术。 JSP技术是以Java语言作为脚本语言的,熟悉JAVA语言的人可以很快上手。 JSP本身虽然也是脚本语言,但是却和PHP、ASP有着本质的区别。 PHP和ASP都是由语言引擎解释执行程序代码,而JSP代码却被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。 因此普遍认为JSP的执行效率比PHP和ASP都高。 JSP在技术结构上有着其他脚本语言所没有的优势:JSP可以通过JavaBean等技术实现内容的产生和显示相分离,并且JSP可以使用JavaBeans或者EJB(Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理,进而完成企业级的分布式的大型应用。 因此,不少国外的大型企业系统和商务系统都使用JSP技术,作为采用Java技术家族的一部分,JSP技术也能够支持高度复杂的基于Web的应用。 结论:对于脚本语言来讲,JSP还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型网站系统来讲,基于JAVA技术的JSP(结合JavaBean和EJB)几乎成为唯一的选择。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐