[HN Gopher] Pgo: The Postgres operator from crunchy data
___________________________________________________________________
Pgo: The Postgres operator from crunchy data
Author : maydemir
Score : 51 points
Date : 2022-06-26 09:00 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| uberduper wrote:
| I cannot trust critical infrastructure components to 3rd party
| kubernetes operators. I don't like operators (I didn't write) in
| general because I find them too opinionated and obfuscated. It's
| unbelievable to me that someone would deploy a production
| datastore using one.
| gbartolini wrote:
| Can you please elaborate about obfuscation?
|
| Regarding being opinionated I believe that it is what we expect
| from an operator. An operator simulates what human DBAs in this
| case would do. I am a maintainer of CloudNativePG, and I have
| been running and supporting PostgreSQL in production for 15+
| years, creating also another open source software for backups
| (Barman). In CloudNativePG we have basically translated our
| recipes into Go code and tests.
|
| Many people believe that databases should not run in
| Kubernetes. I not only believe the opposite, I believe that
| running Postgres in Kubernetes represents the best way,
| potentially, to run Postgres out there.
| uberduper wrote:
| What I've seen from teams that use operators is that nobody
| ends up understanding how to manage the situation when
| something goes awry.
|
| I've run into way too many exotic edge cases with kubernetes
| to trust an operator to do the right thing with data I care
| about. Most especially when the operator is also managing the
| replication and replicas and their underlying storage.
|
| I am pro running datastores and other stateful workloads on
| kubernetes. I've been running databases on kubernetes since
| petSets.
| sylvainkalache wrote:
| In case some of you are interested in learning more about running
| databases on Kubernetes, or more generally stateful workloads,
| there is a community dedicated to that https://dok.community/
|
| I a am part of the community team. We have weekly live
| streams/blog posts about the topic and a Slack channel.
| mdasen wrote:
| https://www.crunchydata.com/developers/terms-of-use
|
| Before using Crunchy Data, I'd read their terms of use.
|
| "without an active Crunchy Data Support Subscription or other
| signed written agreement with Crunchy Data are not intended
| for... using the services provided under the Program (or any part
| of the services) for a production environment, production
| applications or with production data"
|
| https://hub.docker.com/r/crunchydata/crunchy-postgres
|
| If you look at their Docker Hub images, you'll see that they're
| provided under the terms of use of the Crunchy Data developer
| program which means you can't use them in production without an
| active subscription.
|
| Maybe I'm reading it wrong, but if that's the case Crunchy Data
| should definitely change their terms of service.
|
| https://www.percona.com/blog/2021/05/26/percona-distribution...
|
| Percona certainly seems to think you can't use the Crunchy Data
| images in production saying, "CrunchyData container images are
| provided under Crunchy Data Developer Program, which means that
| without an active contract they could not be used for
| production."
| PeterZaitsev wrote:
| CEO Percona Here.
|
| It is more than "Percona Thinks" We have number of customers
| who started using Crunchy Kubernetes Operator based solution
| thinking it is Open Source and were contacted by Crunchy Sales
| team to indicate they need subscription to use it.
|
| This was one of the reasons for them to move to Percona
| Operator for PostgreSQL which does not require any commercial
| relationship with Percona to use in practice and completely
| Open Source
|
| https://www.percona.com/doc/kubernetes-operator-for-postgres...
| gbartolini wrote:
| CloudNativePG Maintainer and VP of CloudNative at EDB here.
|
| We decided to go even further with the CloudNativePG
| operator.
|
| EDB as original creator has decided to donate the
| intellectual property of the source code to the community,
| open sourced the existing operator under Apache License 2.0
| to apply for the CNCF Sandbox. The project not only includes
| the operator, but also the PostgreSQL operand images - which
| can be customized (we provide details on how images should
| be).
|
| We genuinely welcome other vendors to participate in the
| community and contribute to the project, including by
| offering professional services around it. Our multi-year
| commitment is to become a graduated CNCF project.
|
| For more information: https://cloudnative-pg.io/
| snuxoll wrote:
| I just noticed you guys are finally working on an operator
| for MySQL (not just XtraDB), I've been waiting for something
| like this forever after numerous false starts from Oracle,
| MariaDB, and some well intentioned community led projects
| that never really got off the ground. Kudos to your team!
| PeterZaitsev wrote:
| Thank you!
|
| Yes. We have development version available already, check
| it out and give us some feedback - what else need to be
| done so it is Production Ready
| 988747 wrote:
| I think this is more of the disclaimer that they are not
| responsible to any damage to your production systems if you do
| not use their support. That's why the wording is "are not
| intended for..." and not "you are prohibited from..."
| mdasen wrote:
| I'd also note that the agreement doesn't provide a license
| for non-development purposes. "Crunchy Data provides access
| to Crunchy Developer Software free of charge for development
| purposes", but there's nothing that says that they provide
| access for other purposes.
|
| Basically, the license seems to be (and IANAL): we provide
| the software for development purposes...without a
| subscription, it's only intended for development purposes
|
| They didn't say "we provide this software for your
| use...without a subscription, it's only intended for
| development purposes". They basically said: we provide this
| software for development purposes, it's only intended for
| development purposes.
|
| If it's only a disclaimer, where's the grant of rights to use
| the software beyond development purposes?
|
| Yes, if I were a lawyer defending a user, I'd definitely be
| arguing your point. However, I think Crunchy Data's lawyer
| would simply point out that there's literally no grant in the
| license for non-development purposes. Maybe a judge would
| take pity on you given that it seems hidden, has some
| ambiguity (though maybe it's not ambiguous to a lawyer), and
| because they allow you to spin up the operator basically
| without ever knowing these terms exist.
|
| Given that there are many other PostgreSQL operators from
| companies like Percona (which I think has a great and long
| track record of supporting open source databases),
| EnterpriseDB, and Zalando, I don't see why I'd want to choose
| Crunchy Data.
|
| You might be right and I think you would be right if only
| looking at the piece I quoted, but given that there's no
| general grant in the license that the "intended for" is
| merely a disclaimer for, it seems like the license grant is
| that they provide access for development purposes. IANAL and
| I'd rather work with software and companies where I don't
| have to be a lawyer. Crunchy Data could have said "We provide
| access to this software free of charge for any purpose.
| Without a subscription, it is unsupported and not intended
| for production use. We are not responsible for anything that
| happens if you use it in production." That's not what they
| said. They said that they provide it "free of charge for
| development purposes" with no grant for non-development
| purposes.
| sbuttgereit wrote:
| I agree that the developer program ToS is written in a
| confusing manner and suggests that you can't use it all for
| production without a license. I expect that to be
| intentional: if the impression you get is that you can't
| even use their software in production, it's much less
| likely that you will do so with the impression that there
| is any support, warranty, or endorsement of such use.
|
| [EDIT: I made an error, I originally said that it was
| explicit about no license being granted for the software,
| but that was about things like no license for service marks
| and trade names.]
|
| On the other hand, there is a license for postgres-operator
| and it looks like Apache 2.0:
|
| https://github.com/CrunchyData/postgres-
| operator/blob/master...
|
| For what's being distributed in their Docker container
| image, I imagine it depends on what they're actually
| distributing for that to matter. I expect that it's mostly
| other people's software (like PostgreSQL) and that the
| Docker page listing the container just too much of a
| summary to say anything about licensing. I'd investigate
| that further to clarify license status prior to use, but
| expect it to not be legally constrained to non-production
| use only.
| vbezhenar wrote:
| Another popular alternative: https://github.com/zalando/postgres-
| operator
|
| New player from Enterprise DB: https://github.com/cloudnative-
| pg/cloudnative-pg
| mdasen wrote:
| https://www.percona.com/doc/kubernetes-operator-for-postgres...
|
| Percona also has a PG operator.
| gbartolini wrote:
| One clarification about CloudNativePG. It is not EDB's anymore
| (or EnterpriseDB if you prefer).
|
| EDB is the original creator. The software is now entirely owned
| by a vendor neutral community, openly governed. We have applied
| for the CNCF sandbox and waiting for the approval at this
| stage.
| bo0tzz wrote:
| +1 for cnpg - I couldn't get any of the other operators to work
| well for me, but cnpg has been a blast.
| gbartolini wrote:
| Thank you!
| ahachete wrote:
| If building a list of alternatives, let me do a shameless plug
| for StackGres [1], the Postgres platform for Kubernetes with a
| fully featured Web Console, AMD64 and ARM64 support and more
| than a hundred available Postgres extensions [2]. Fully open
| source, no usage restrictions.
|
| [1] https://stackgres.io/
|
| [2] https://stackgres.io/extensions/
|
| Disclaimer: founder of the project.
| knewter wrote:
| Second. StackGres is phenomenal
| qeternity wrote:
| Worth noting that the Crunchy operator is based on Patroni,
| which is maintained by Zalando.
| noodlesUK wrote:
| How does this compare with something like kubegres?
|
| https://www.kubegres.io/
| hardwaresofton wrote:
| Have chatted with the guy who builds kubegres, it's a really
| solid solution and is meant to be better integrated (CRDs) and
| more of the reliable parts of the pg stack.
|
| It looks super solid. Unfortunately I can't vouch for it in
| production yet since I still write my own resources but for me
| Zalando is #1 and Kubegres is either 2nd or 3rd.
|
| https://www.reddit.com/r/PostgreSQL/comments/mqrsbn/kubegres...
| gbartolini wrote:
| As maintainer of the project, I suggest looking at
| CloudNativePG, which is production ready (cloudnative-pg.io).
| kmarc wrote:
| I used this in the past. Helped a lot with provisioning micro-pg-
| clusters.
|
| But honestly, the project always felt like a one-man-show, some
| (realy great) dev had a working set of scripts and kubernetized /
| operatorized it, but the whole thing feels hacky as hell.
|
| I'd still give a try if I ever needed postgresql again, but I
| would also know that I need to implement (again) my set of
| scripts and hacks on top of it.
| gbartolini wrote:
| Maintainer of CloudNativePG here.
|
| Back then, we evaluated Crunchy Operator's source code. Being
| primarily imperative and using an external tool for failover,
| where the two main reasons we decided to start a new project in
| 2019 which was entirely declarative and purely based on the
| Kubernetes API server for cluster status. Such project was
| released open source last April under the name CloudNativePG
| and hopefully it will enter the CNCF Sandbox soon (fingers
| crossed).
___________________________________________________________________
(page generated 2022-06-26 23:01 UTC)