SamDarwin.com

Kubenet Networking

How does kubenet work? A good place to start is the official documentation and also this Calico Tutorial Video. In the documentation it says that kubenet “does not, of itself, implement more advanced features like cross-node networking or network policy. It is typically used together with a cloud provider that sets up routing rules for communication between nodes, or in single-node environments.” Of course, “cross-node […]

Read Me Leave comment

Kubernetes Credential Recovery

The credentials to access a Kubernetes cluster with kubectl are contained in the kubeconfig file, typically located at ~/.kube/config . What if this file were lost due to a crashed hard drive, accidental deletion, or other cause? How do you recover your kubeconfig file? Usually there will be at least two ways to recover the file: – by manually reconstructing it piece by piece – […]

Read Me Leave comment

Terraform Chef Provisioner

This article is a proof of concept to explore using the Terraform Chef Provisioner and Chef Vault to deploy a Django App on AWS. It should be noted that these technologies have significant caveats. Regarding Terraform Chef Provisioner: “Provisioners should only be used as a last resort. For most common situations there are better alternatives.” (from https://www.terraform.io/docs/provisioners/chef.html) The Terraform Chef Provisioner does not support auto-scaling […]

Read Me Leave comment

Packer Blue-Green Deployments

Let’s review a deployment scenario that utilizes Packer, Terraform, Ansible, and AWS Autoscaling. The code is available at https://github.com/sdarwin/packer-blue-green-deployment-example Part 1 – builder.sh To begin with, all the parts of the puzzle will be tied together by a fairly simple bash script, here called builder.sh. The logic is as follows: 1. build a new AMI with Packer. (In other words, run “packer”) 2. deploy the […]

Read Me Leave comment

Ansible Galaxy List

Of course, the best place to find reusable Ansible Roles is Ansible Galaxy. However often people will search Google anyway, and then they might miss out on Galaxy. With that in mind, here are some Ansible Roles which I’ve written, and recommend to you. Ansible Nagios – https://github.com/sdarwin/Ansible-Nagios Ansible Munin – https://github.com/sdarwin/Ansible-Munin Ansible WordPress – https://github.com/sdarwin/Ansible-Wordpress Ansible VNC – https://github.com/sdarwin/Ansible-VNC Ansible Bootstrap – https://github.com/sdarwin/Ansible-Bootstrap Ansible […]

Read Me Leave comment

Spinnaker Configuration File Precedence

Many Linux services handle configuration files as follows: /etc/sudoers        ## The main config file /etc/sudoers.d    ## A directory for customizations. Add more files here, as you wish. That’s it! Very concise. Conversely, Spinnaker has a quagmire of different config files in various different locations. It is helpful to understand how they operate. When each of the services come up, they will […]

Read Me Leave comment

Spinnaker, Ansible and Packer

The main focus of the article will be specifically the Spinnaker Bake cycle. This is the intersection of Spinnaker, Ansible and Packer. For a bit of advice about installation, which is actually a prerequisite, refer to Spinnaker Installation, Deployments, Questions & Answers Packer and Ansible On the Spinnaker server, the packer templates are located in /opt/rosco/config/packer/ . However, there is a slightly roundabout way of […]

Read Me 5 Comments

Spinnaker Installation, Deployments, Questions & Answers

A General Review of Spinnaker The focus of the article will be on end-to-end testing – everything about Spinnaker. INSTALLATION Very briefly, on the topic of installing Spinnaker at AWS: – Follow their documentation – There are a series of steps regarding IAM Roles covered in https://www.spinnaker.io/setup/providers/aws/ . These are a bit tricky, and if you don’t implement them all of them exactly correctly, Spinnaker […]

Read Me Leave comment

Ansible Role Variables as Defaults

[jump directly to the code] Here is a trick for creating Ansible role vars (defined in role/vars/main.yml) so they act as role defaults (defined in role/defaults/main.yml) What does this mean, and why would it be interesting? An Ansible Role is a reusable and redistributable unit of code. Ansible Galaxy encourages code sharing via Roles. But the author of an Ansible Role cannot predict how the […]

Read Me 2 Comments

CDN Review

This is an overview and analysis of three different CDN’s (content delivery network or content distribution network). – Cloudfront – Cloudflare – Fastly For each CDN, answer the following questions: – what is cached in the CDN – how long it is cached the CDN – how long it is cached in the browser – Load Balancing or sticky rules – pricing – interesting facts […]

Read Me Leave comment