Archive

Category Archives for "Systems"

Managing VMware vSphere guests with Ansible Tower

There are lots of ways to enable self-service VMs within an organisation - what some might call 'a private cloud'. However, these usually require layers and layers of complex software. What if you could leverage your existing hypervisor and 15 lines of code to do the same? And what if those 15 lines became an even simpler single click?

Ansible Core contains a module for managing virtual machines in VMware vSphere environments called vsphere_guest. Using this one module we can talk to an existing vSphere instance to create new VMs, clone VM templates, and control and delete VMs. Couple up a simple playbook with Ansible Tower and we can do some pretty amazing things with very little effort.

Here's our playbook to create a new virtual machine from a template in vSphere:

shot11

The really important bit that's doing the work is the 15 lines associated with the 'Create VM from template' task. Note the extensive use of variables in this play to give us lots of flexibility. We'll make use of this in Tower in just a moment.

Tower 2.1 introduced 'Surveys', which are a great way to create interactive forms for a given play. The form can Continue reading

Experimenting with Docker, Registrator, and Consul

Over the last few days, I’ve been experimenting with Docker, Registrator, and Consul in an effort to explore some of the challenges involved in building a robust containerized infrastructure. While I haven’t finished fully exploring the idea (and documenting what I’ve learned), I did discover one interesting—and unexpected—interaction.

Here’s a quick overview of my testing environment:

  • I used two OpenStack Heat templates to spin up two clusters of 5 instances each.
  • The first cluster is a set of CoreOS Linux instances, customized via cloud-init to not run etcd. These instances are attached to a VMware NSX-powered logical network using IP addresses from the 10.1.1.0/24 subnet.
  • On each CoreOS Linux instance, I have Registrator running as a Docker container and listening to the Docker socket (thus listening to Docker events).
  • The second cluster is a set of Ubuntu 14.04 instances running Consul. These instances are connected to an NSX-powered logical network using IP addresses from the 10.1.2.0/24 subnet.
  • The two logical networks are connected by a logical router and thus have full connectivity.

Registrator, if you’re not already familiar with it, is a service registry tool that listens to the Docker Continue reading

Announcing Docker Machine Beta

At DockerCon EU earlier this year, we announced Docker Machine, a tool that makes it really easy to go from “zero to Docker”. Machine creates Docker Engines on your computer, on cloud providers, and/or in your data center, and then … Continued

Scaling Docker with Swarm

We are extremely excited to announce the first beta release of Swarm, a native clustering tool for Docker. For the past two years, Docker has made the lives of millions of developers easier by making building, shipping and running applications … Continued

Announcing Docker Compose

Today we’re excited to announce that Docker Compose is available for download. Docker Compose is an orchestration tool that makes spinning up multi-container applications effortless. Head to the install docs to download it. With Compose, you define your application’s components … Continued

AnsibleFest NYC 2015

AnsibleFest_NYC_2015

We are in the planning stages of our next stop in the AnsibleFest 2015 tour. We had a our biggest turnout ever at AnsibleFest London and know that our New York event will be even bigger and better!

AnsibleFest NYC is currently scheduled for late May/early June in NYC.

Details are being finalized now and tickets will go on sale soon.

If you are interested in speaking please email [email protected]

If you are interested in sponsoring please email [email protected] 

 

Enabling and Mounting NFS on CoreOS

I’ve written about CoreOS a fair amount (see here, here, and here), but one of the things that is both good and bad about CoreOS is the automatic update mechanism. It’s good because you know your systems will stay up to date, but it’s bad if you haven’t taken the time to properly address how automatic updates will affect your environment (for example, you’ve manually started some Docker containers instead of using systemd unit files—when the CoreOS system reboots after an update, your Docker containers will no longer be running). Re-architecting your environment to fully account for this change in architecture and behavior is a larger discussion than can be addressed in a single blog post, but in this post I want to at least tackle one small part of the discussion: separating your persistent data. In this post, I’ll show you how to mount an NFS share on a CoreOS instance deployed on OpenStack (or any cloud that leverages cloud-init).

Now, you could probably go into your CoreOS instance and manually make these changes, but that’s still thinking the old way. In addition to thinking about keeping persistent data separate, we (data center/cloud architects) also need Continue reading

Presentations in Markdown Using Deckset

Over the past couple of years, Markdown has become an important part of my computing landscape. I’ve transitioned almost all of my text-based content creation, including this blog, over to Markdown. I’d also been looking for ways that I might be able to extend my use of Markdown into creating presentations as well, but hadn’t—until recently—found a tool that fit into my workflow. Then I started using Deckset.

The idea behind Deckset is not unique; there are other projects out there that do the same sort of thing. (Remarkjs is one example that I’ve also used; more on that in a moment.) You create your presentation in Markdown, using headings, bulleted lists, numbered lists, etc. Markdown is just plain text, so you can use any plain text editing tool you like for this part. Deckset itself is OS X-specific, but the content remains platform- and application-independent (use any text editing tool on any platform you like).

Because Markdown isn’t natively suited to creating presentations, Deckset—along with all the other solutions I tried—have to add some “extensions” to Markdown. For example, in Deckset’s case:

  • You’ll use three hyphens (---) to denote the start of a new slide.
  • Continue reading

Vagrant Box for Learning Open vSwitch

As you may have picked up from some of my recent posts, I’m focused on building content and tools that will help others learn new projects, products, and technologies that I think will be very relevant in the future. One such project is Open vSwitch (OVS), which I’ve written about quite a bit (you can see all OVS-related posts here). To help others work with and learn about Open vSwitch, I’ve published a new Vagrant base box.

(In the event you’re not familiar with Vagrant, take a look at this quick introduction.)

The new Vagrant box I’ve created is running Ubuntu 14.04.1 and has Open vSwitch 2.3.1—the latest available release—pre-installed. To install this Vagrant box for use in your Vagrant environments, simply run this command:

vagrant box add slowe/ubuntu-1404-x64-ovs

Vagrant will download and install the box. (Note that this box is formatted for the “vmware_desktop” provider, which means you’ll need VMware Fusion or VMware Workstation as well as the Vagrant plugin for VMware.) Once the box is installed on your system, then you can begin using it in a Vagrantfile by just referencing the box name. As with the other Vagrant boxes Continue reading

A Quick Thought About Mesos-DNS

A colleague recently pointed me to the recent Mesosphere announcement of Mesos-DNS, a DNS-based service discovery mechanism for Apache Mesos clusters. A comment made in the announcement got me thinking, and I wanted to briefly share my thoughts.

The comment that got me thinking was this:

Mesos-DNS is simple and stateless. Unlike Consul and SkyDNS, it does not require consensus mechanisms, persistent storage, or a replicated log.

If you’ve been following along here on my site, you know that I’ve written about Consul before (see here), and I have more Consul content planned. I’m reasonably familiar with Consul’s architecture and requirements. Likewise, although I haven’t specifically written about SkyDNS, it’s based on etcd, which I have talked about (see here). The Mesos-DNS article seems to imply that Mesos-DNS is somehow less complex than either of these two solutions because it doesn’t require consensus mechanisms, persistent storage, or a replicated log.

However, in my mind that’s a misleading statement. Yes, Consul does require a consensus mechanism (it uses Raft, like etcd). SkyDNS (as I understand it, at least) simply leverages etcd, so technically SkyDNS itself doesn’t require a consensus mechanism. And the assertion that SkyDNS itself Continue reading

Interview with Ansible CEO

tools

Ansible CEO Saïd Ziouani recently sat down for an interview with Adrian Bridgwater of ToolsAdvisor.net to talk about the past, present and future of Ansible. 

Tools AdvisorAnsible Tower is an opportunity for less technical users to get involved with IT automation by virtue of its role-based access control and dashboard functionality being core extras over and above the command line version of the open source product. Just exactly how 'non-technical' a user do you think should be involved here?
Saïd Ziouani: We strongly believe that IT Automation should be a dull task; your IP competency should be your priority and the main focus for your software developers. Managing your infrastructure must be simple to a point that it's almost boring. Tower takes the simplicity model of Ansible to a new level, allowing easy push button automation at scale, and team role delegation.

Read the full interview here.