This post is the 5th in our Kubernetes training series, providing DevOps engineers with an introduction to Docker, Kubernetes, and Octopus.
This video demonstrates how to expose pods to network traffic via a service.
MetalLB has been updated since this video was recorded to use Custom Resource Definitions (CRDs).
You can still apply these manifests to apply version 0.12, which is the version used by this video:
And then apply this ConfigMap:
apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 172.19.255.200-172.19.255.250
You can work through the series using the links below.
- Getting started with Docker
- Installing a development Kubernetes cluster
- Creating Docker containers
- Creating Kubernetes resources
- Creating Kubernetes services
- Deploying to Kubernetes with Octopus
- Multi-environment deployments
- Installing a dashboard
- Observing deployment strategies
- Blue/green deployment strategy
- ConfigMaps and Secrets
- ConfigMaps and Secrets demo
- Role Based Access Control
- Role Based Access Control demo
- Ingress and Ingress Controllers
- Ingress and Ingress Controllers demo
- Deploy Google's Online Boutique microservice stack in Octopus
Sample Service YAML
apiVersion: v1 kind: Service metadata: name: webapp spec: selector: app: webapp type: LoadBalancer ports: - protocol: TCP port: 80 targetPort: 80
If you're looking to build and deploy containerized applications to AWS platforms such as EKS and ECS, the Octopus Workflow Builder populates a GitHub repository with a sample application built with GitHub Actions workflows and configures a hosted Octopus instance with sample deployment projects demonstrating best practices such as vulnerability scanning and Infrastructure as Code (IaC).