All Projects → songxinjianqwe → deployment-controller

songxinjianqwe / deployment-controller

Licence: other
基于Fabric8模拟Kubernetes的Deployment实现一个Controller

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to deployment-controller

configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+13.33%)
Mutual labels:  deployment, crd
Git Auto Deploy
Deploy your GitHub, GitLab or Bitbucket projects automatically on Git push events or web hooks
Stars: ✭ 251 (+318.33%)
Mutual labels:  deployment
Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (+231.67%)
Mutual labels:  deployment
Rollback
Ansible role to rollback scripting applications like PHP, Python, Ruby, etc. in a capistrano style
Stars: ✭ 230 (+283.33%)
Mutual labels:  deployment
Concourse Up
Deprecated - used Control Tower instead
Stars: ✭ 207 (+245%)
Mutual labels:  deployment
Stretcher
Deployment tool with consul/serf event notification.
Stars: ✭ 232 (+286.67%)
Mutual labels:  deployment
Obevo
Obevo is a database deployment tool that handles enterprise scale schemas and complexity
Stars: ✭ 192 (+220%)
Mutual labels:  deployment
kanarini
Canary Deployment Controller for Kubernetes
Stars: ✭ 32 (-46.67%)
Mutual labels:  crd
Fusioninventory For Glpi
FusionInventory plugin for GLPI
Stars: ✭ 241 (+301.67%)
Mutual labels:  deployment
K8s Diagrams
A collection of kubernetes-related diagrams
Stars: ✭ 227 (+278.33%)
Mutual labels:  deployment
Deep Learning In Production
Develop production ready deep learning code, deploy it and scale it
Stars: ✭ 216 (+260%)
Mutual labels:  deployment
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+261.67%)
Mutual labels:  deployment
Gradle Cargo Plugin
Gradle plugin that provides deployment capabilities to local and remote containers via Cargo
Stars: ✭ 238 (+296.67%)
Mutual labels:  deployment
Webloyer
Webloyer is a web UI for managing Deployer deployments
Stars: ✭ 199 (+231.67%)
Mutual labels:  deployment
Provision
Digital Rebar Provision is a simple and powerful Golang executable that provides a complete API-driven DHCP/PXE/TFTP provisioning system.
Stars: ✭ 252 (+320%)
Mutual labels:  deployment
Kubefate
Manage federated learning workload using cloud native technologies.
Stars: ✭ 195 (+225%)
Mutual labels:  deployment
Cqtdeployer
This project is used to deploy applications written using QML, qt or other С / С++ frameworks.
Stars: ✭ 225 (+275%)
Mutual labels:  deployment
Mason
Cross platform package manager for C/C++ apps
Stars: ✭ 230 (+283.33%)
Mutual labels:  deployment
dropship
Super simple deployment tool
Stars: ✭ 62 (+3.33%)
Mutual labels:  deployment
Ray
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
Stars: ✭ 18,547 (+30811.67%)
Mutual labels:  deployment

简化版Deployment实现

文章

如何从零开始编写一个CRD.

目的

这是一个简化版的Deployment的实现,实现了部分Kubernetes中Deployment的功能。

测试用例

  • 启动后自动创建出一个MyDeployment的CRD
    • 【触发】启动应用
    • 【期望】可以看到创建出来的CRD
    • 【测试】kubectl get CustomResourceDefinition -o yaml
  • 创建一个MyDeployment: Nginx实例
    • 【触发】kubectl create -f my-deployment-instance.yaml
    • 【期望】可以看到级联创建出来的3个pod
    • 【测试】kubectl get pods
  • 手工删掉一个pod
    • 【触发】kubectl delete pods $pod_name
    • 【期望】pod被重建
    • 【测试】kubectl get pods -w
  • 暴露一个服务
    • 【触发】kubectl create -f my-deployment-service.yaml
    • 【期望】可以通过curl来访问nginx服务
    • 【测试】minikube service my-nginx-app --url 然后 curl
  • 更新镜像
    • 【触发】kubectl replace -f my-deployment-instance-update-image-1.9.1.yaml
    • 【期望】pod的nginx版本被更新为1.9.1
    • 【测试】kubectl get pods -o yaml
  • 扩容
    • 【触发】kubectl replace -f my-deployment-instance-update-scaleup-1.9.1.yaml
    • 【期望】pod被扩容到5个
    • 【测试】kubectl get pods
  • 缩容
    • 【触发】kubectl replace -f my-deployment-instance-update-scaledown-1.9.1.yaml
    • 【期望】pod被缩容到2个
    • 【测试】kubectl get pods
  • 扩容并更新镜像
    • 【触发】kubectl replace -f my-deployment-instance-update-image-and-scaleup-1.14.yaml
    • 【期望】pod被扩容5个,且nginx版本被更新为1.14
    • 【测试】kubectl get pods 然后 kubectl get pods -o yaml
  • 删除一个MyDeployment
    • 【触发】kubectl delete mydeployments my-nginx-app
    • 【期望】MyDeployment被删掉,并且关联的pod也被级联删掉
    • 【测试】kubectl get mydeployments 然后 kubectl get pods
  • 查看状态(TODO)
  • 回滚(TODO)
  • 状态更新【current,update-to-date,available】(TODO)
  • describe EVENTS(TODO)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].