cloudify-incubator / cloudify-kubernetes-provider Goto Github PK
View Code? Open in Web Editor NEWCloudify provider for Kubernetes
License: Apache License 2.0
Cloudify provider for Kubernetes
License: Apache License 2.0
If I have already created a cluster in some IaaS, Azure for example, and I want to add a VM to the cluster with a specific pod or service, I need a infrastructure blueprint that I can import.
Please create such a blueprint for:
Currently Instances are mapped to nodes in the cluster blueprint of node type "kubernetes_host".Ref
The problem with this approach is that the node type needs to be redefined for each cluster deployment, examples:
On the one hand, since a Kubernetes Node is strictly speaking a machine, the direct corresponding type in cloudify is cloudify.nodes.Compute`. On the other hand, a Kubernetes Node should also have several capabilities that are not part of Cloudify Compute nodes - container runtime, kube-proxy, etc.
I want to propose an alternative:
A new node type that is "contained_in" a Cloudify Compute node that represents the Kubernetes Node, such as:
node_types:
cloudify.nodes.Kubernetes.Node:
derived_from: cloudify.nodes.SoftwareComponent
properties: {}
node_templates:
kube_node:
type: cloudify.nodes.Kubernetes.Node
relationships:
- type: cloudify.relationships.contained_in
target: some_vm
Update cfy-go client installation on provider to use SSL.
Also the build/cluster creation blueprint should configure generate the scripts as well.
Update this blueprint to allow option to install and configure Provider/Autoscaler.
Kubernetes Nodes should be labelled with the deployment that created them (optionally off).
We have this script for releasing our plugins.
We need to do the same thing for tagging a release in the provider and publishing binaries.
For now we hardcoded cloudify manager ip by{ get_attribute: [ kubemanager, cloudify_agent, broker_ip ] }
Need to use loadbalancer or get ip information from agent config on node.
Python is better for working with Cloudify blueprints because it is awkward to use the context in Bash, and YAML/JSON/dict manipulation in general is awkward in Bash.
For now delete workflow ignore filed with hits for node names for delete, need to change code to delete nodes only defined as nodes for possible delete. Use scalelist{up/down} for scaling.
Need to change kubernetes host nodes and load balancers nodes.
Update the current load balancer behavior.
Today, when a user "expose" a pod or deployment using a load balancer method, the provider returns 127.0.0.1. We need to provide the real URL of the node instance. It should default to public_ip runtime property, and fall-back to ip runtime property.
This feature include the following changes/PRs:
@EarthmanT @0lvin Please take a look to the following PRs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.