This Blueprint was originally developed using vRealize Automation 7.4 and CentOS 7 and subsequently updated for vRA 7.5 and then in Aug of 2019 for vRA 7.6. The software components are modular with dependencies. The Kubernetes cluster consists of a single master and 2-5 nodes. Values for the network input are:
At the time of the initial release, I have only done simple NodePort tests with Calico, Flannel, and Weave. The code is in place for the remaining network plug-ins, but needs testing and confirmation that they work properly.
After importing the blueprint:
Simple Custom Form:
layout: pages: - id: general sections: - id: section_89ec6c3e fields: - id: CentOS_K8s_Master~netPlugin display: dropDown state: visible: true read-only: false - id: section_3566b9d4 fields: - id: _leaseDays display: integerField state: visible: true read-only: false - id: section_1fb0e0f8 fields: - id: K8s-Node~_cluster display: integerField state: visible: true read-only: false - id: section_9a954f69 fields: - id: checkbox_d3e0fcec display: checkbox state: visible: true read-only: false - id: section_0502190e fields: - id: Linux__Add_Public_Key_1~auth_key_path display: textField state: read-only: false visible: - equals: checkbox_d3e0fcec: true value: true - id: section_d70ac657 fields: - id: Linux__Add_Public_Key_1~pub_key_text display: textArea state: read-only: false visible: - equals: checkbox_d3e0fcec: true value: true title: General schema: CentOS_K8s_Master~netPlugin: label: Network Plugin description: Network Plugin Name type: dataType: string isMultiple: false default: Calico valueList: - value: Calico label: Calico - value: Flannel label: Flannel - value: Canal label: Canal - value: Kube-Router label: Kube-Router - value: Romana label: Romana - value: Weave label: Weave - value: Tungsten-Fabric label: Tungsten-Fabric constraints: required: true _leaseDays: label: Lease days description: Indicates for how many days the deployed blueprint will be leased. type: dataType: integer isMultiple: false default: '7' constraints: {} K8s-Node~_cluster: label: Worker Node Count type: dataType: integer isMultiple: false default: '2' constraints: max-value: 5 min-value: 2 required: true checkbox_d3e0fcec: label: Add SSH Public Key? signpost: >- Would you like to provide an SSH Public key? This will allow for password-free secure login to the Linux VM once deployed. type: dataType: boolean constraints: required: false Linux__Add_Public_Key_1~auth_key_path: label: Path to authorized_keys file description: Path to SSH authorized_keys file signpost: >- Full path and filename of the SSH authorized_keys file. This is typically in /root/.ssh/authorized_keys or /home/username/.ssh/authorized_keys type: dataType: string isMultiple: false default: /root/.ssh/authorized_keys constraints: required: true Linux__Add_Public_Key_1~pub_key_text: label: Paste SSH Public key in box description: Text of Public Key to be added to authorized_keys signpost: >- Provide the text content of the PUBLIC SSH key to install on guest. This should be the counterpart to your Private key used in putty or other ssh client. type: dataType: string isMultiple: false default: '' constraints: required: false options: externalValidations: []
UPDATE Aug 12, 2019:
UPDATE Nov 28, 2018:
UPDATE Oct 24, 2018:
UPDATE Aug 30, 2018: