Skip to content

Infrastructure namespace pattern

The Infrastructure namespace pattern is an organizational practice in Kubernetes administration where operational tools and platform services are isolated within a dedicated namespace, commonly named infra or infrastructure.^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]

Implementation

This pattern is implemented by defining a specific namespace in the cluster configuration to serve as the exclusive home for continuous integration and deployment (CI/CD) tools.^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]

Example: Jenkins Deployment

In a typical DevOps setup, this pattern is applied when deploying Jenkins. Instead of placing the automation server in the default namespace, a dedicated namespace is created explicitly to host the Jenkins resources^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].

[kubectl](<./kubectl.md>) apply -f 01-jenkins.yaml 
# namespace/infra created
# deployment.apps/jenkins created
# service/jenkins created

This approach ensures that infrastructure components, such as the Jenkins deployment, service, and ingress, are logically grouped and segregated from application workloads^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].

Sources

^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]