Skip to content

findlogan/infrastructure-as-code-experiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

infrastructure-as-code-experiments

I have decided to open-source experimentation with my "IAC" projects. Feel free to adapt them to your needs or contribute.

I will ideally grow this with a bit of time, or I might retire it and just do multiple repositories. Though the future of the repository is uncertain one thing is for sure: the information contained within is still good.

Infrastructure as Code (IaC) is a key practice in the modern development operations landscape that involves managing and provisioning computing infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. This approach enables developers and operations teams to automate the setup, deployment, and management of infrastructure, ensuring consistency, efficiency, and reliability in the environment. By treating infrastructure as code, teams can apply the same version control, collaboration, and testing practices that are used in application development to infrastructure management. This not only dramatically speeds up the deployment process but also reduces the risk of human error, enhances reproducibility, and scales alongside the application with minimal overhead. Leveraging IaC, organizations can achieve more agile, flexible, and manageable IT operations, paving the way for faster innovation and a stronger alignment between IT services and business needs.

Useful Documentation/Resources

Ansible

Ansible is an automation platform that streamlines configuration management and application deployment. Its use of straightforward YAML playbooks allows for simple, repeatable setup processes, while SSH connectivity eliminates the need for additional remote agents. It's a hassle-free solution for managing complex IT tasks with minimal overhead.


Kubernetes (Container Orchestration)

In my case, I am going to use Kubernetes as container orchestration running docker containers

Kubernetes manages containers through an abstraction layer provided by the Container Runtime Interface (CRI), allowing it to work with various container runtimes.

Using conf files:

export KUBECONFIG=/path/to/your/admin.conf

Load balancing (which has been an incredible search):

Other Resources:


Docker (Containerization)

Docker is a platform that allows developers to package applications into containers, which are standardized executable components combining application source code with the operating system (OS) libraries and dependencies required to run that code in any environment. This simplifies development, supports consistent deployment processes, and enables seamless scaling.


Pulumi

Pulumi is an open-source infrastructure as code tool that lets developers manage cloud infrastructure using programming languages like JavaScript, TypeScript, Python, Go, and C#. It differs from traditional IaC tools by allowing the use of general-purpose languages, offering more flexibility in defining resources for various cloud providers including AWS, Azure, Google Cloud, and Kubernetes. This approach enables more reusable and scalable infrastructure code through familiar constructs like loops, functions, and classes. Pulumi simplifies cloud infrastructure management by integrating with existing development tools and practices.


Devstack (Great for Openstack evaluation or development, strongly discouraged for production)

Useful for developing in openstack, takes 10-15min to install


Openstack (Ansible Install)


Troubleshooting

Image not uploading in horizon (undefined errors on upload)

See response on: https://bugs.launchpad.net/horizon/+bug/1630833

Cannot install Magnum, etc. undefined Ansible variable "ansible_host"

  • Goto /etc/openstack_deploy/openstack_user_config.yml
  • Add the following YAML:
identity_hosts:
  localhost:
    ip: 127.0.0.1
    ansible_host: 127.0.0.1

Cloud Images

About

Just a dump of IAC experimentation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published