pykorm
kopf
pykorm | kopf | |
---|---|---|
1 | 6 | |
70 | 1,958 | |
- | - | |
0.0 | 7.6 | |
about 1 year ago | 24 days ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pykorm
-
Developing Kubernetes operators with Python part 2: Implementing the controller
Shout-out to pykorm, an excellent python ORM library when dealing with CRDs
kopf
- A Kubernetes Operator in Rust
- I wrote a kubernetes operator for โlocustโ, should I open source it
-
Automate All the Boring Kubernetes Operations with Python
If you're looking for more examples beyond what was shown and referenced above, I recommend exploring other popular tools that make use Python Kubernetes client, such kopf - the library for creating Kubernetes operators. I also find it very useful to take a look at tests of the library itself, as it showcases its intended usage such this client test suite.
-
is it possible to have components of a specific namespace run on specific nodes ?
Depending on how you want to configure your selecting logic, it can be solved by mutating admission webhooks for the pods. For example, in Kopf, the simplest approach would be:
-
Kopf 1.31 now supports admission webhooks. Feedback is welcome!
Hello. Kopf (a framework to write Kubernetes operators in Python) 1.31 is released and has finally got admission webhooks โ https://github.com/nolar/kopf/releases/tag/1.31.0. I would appreciate some feedback from experienced operator developers on how easy or hard it is to write webhooks now, and what is missing and makes it inconvenient. The docs: https://kopf.readthedocs.io/en/stable/admission/ For a brief preview, it looks like this:
-
lightkube 0.6.0 - python kubernetes client
Correct, using generic resources with Client.watch should work. In general to create more complex operators I would recommend to check out kopf.
What are some alternatives?
hikaru - Move smoothly between Kubernetes YAML and Python for creating/updating/componentizing configurations.
awx-operator - An Ansible AWX operator for Kubernetes built with Operator SDK and Ansible. ๐ค
Box - Python dictionaries with advanced dot notation access
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
trivy-operator - Kubernetes Operator based on the open-source container vulnerability scanner Trivy.
fastapi-crudrouter - A dynamic FastAPI router that automatically creates CRUD routes for your models
SQLAlchemy - The Database Toolkit for Python
Celery-Kubernetes-Operator - An operator to manage celery clusters on Kubernetes (Work in Progress)
flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
Dependency Injector - Dependency injection framework for Python
woodKubernetes - LXD wood cluster
uptimerobot-operator - A Kubernetes operator that creates UptimeRobot monitors for your ingresses