zikalino / openshift-work Goto Github PK
View Code? Open in Web Editor NEWThis is temporary repo to do experiments with openshift
License: MIT License
This is temporary repo to do experiments with openshift
License: MIT License
Let's try to do it all in Ansible Playbooks
Break the playbook into pieces and make sure that they have no dependencies to minimize deploying time.
Right now, everything is provisioned correctly. But we still need to make sure that the VMs are loaded and ready to be used.
Need to make sure that all the VMs are up and running and that SSH is ready to go.
Specifically, we need to wait for the bastion to be ready and run the deployment from there
I have just been testing whether NAT is configured propely, and seems like it's not.
I have tried to add inbound_nat_pools but it didn't have any effect.
I also tried to create NAT rules using natpool_ but it also had no effect.
I think existing azure_rm_loadbalancer module may be not working correctly
Create a bastion VM ready to be used
Ansible should create resources with the maximum parallelism possible
I have noticed that if something goes wrong while running tasks asynchronously, there will be no information displayed at all, so user may be left with an impression that everything went fine, but some resources are not really created.
This happened to public ip addresses, and virtual machines while testing.
Make sure to have a proper structure that will allow us to keep track of all the failed activities while minimizing the provisioning time
Stop using username/password
Talking with @haroldwongms, we saw that the deployment time of openshift playbook on a fully provision infrastructure is of 1hr 07 minutes, even after running the prep scripts.
This issue is a call for heros that want to revise that legendary playbook:
https://github.com/openshift/openshift-ansible/blob/master/playbooks/deploy_cluster.yml
And the script @haroldwongms is using to deploy it:
https://github.com/Microsoft/openshift-origin/blob/master/scripts/deployOpenShift.sh
And see if we could customize or pass some flags to reduce the deployment time.
Dynamically we will have to:
Create a new pair of SSH keys
Propagate the SSH keys to the other VMs with authorized_keys module
Add it to the ansible host list so it can perform actions like adding running the Openshift provisioning playbook and running verifications on the other VMs
- name: Add new instance to host group
add_host:
hostname: "{{ item['ips'][0].public_ip }}"
groupname: azure_vms
with_items: "{{ azure.deployment.instances }}"
While we develop the template, we can skip the VM extension provisioning to save time during CI/CD runs.
Make sure that there are no hardcoded elements in the playbook and provide an easy way of creating multiple clusters without collisions.
Add to the create yaml file the code for nic, vms, AS
currently username and password is used
Here's an example of creating VMSS / scaling up / deploying application.
https://github.com/Azure-Samples/ansible-playbooks/tree/master/vmss
I think this should be done once we are done with initial implementation
However we should find another way of deploying scripts as VM Extension operates on VMs directly.
Perhaps it would be possible to do it on VMs created by VMSS, but it doesn't sound like an ideal solution.
Actually, i have another idea how this could be done:
We need some other way to pass the variables from the first play to the second host.
Currently it fails here:
# $4 MASTERPUBLICIPHOSTNAME=$4 - parameters('openshiftMasterPublicIpFqdn')
"{{master_publicip_fqdn }}" \
Because it doesn't have master_publicip_fqdn
Please check task: "Run deployOpenShift.sh"
And make sure to add all the correct parameters to run it.
I have managed to create and dump infrastructure using ARM template.
It also creates CNS nodes, every CNS node has at least 4 disks attached:
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.