Httpd Deploy in Kubernetes
Jump to navigation
Jump to search
Internal
Overview
This is a procedure to deploy httpd as a pod in Kubernetes and make it serve content form a local directory, mounted as "hostPath". The procedure was written using Docker Desktop Kubernetes.
Playground
Procedure
Local Directory
Create a local directory that will host the content to be served by httpd.
mkdir ~/runtime/httpd-root
Pod and Service Manifest
apiVersion: v1
kind: Pod
metadata:
name: 'httpd-local'
labels:
function: 'httpd-server'
spec:
containers:
- name: 'httpd'
image: docker.io/ovidiufeodorov/httpd:latest
volumeMounts:
- name: 'httpd-local-root'
mountPath: '/usr/local/apache2/htdocs'
volumes:
- name: 'httpd-local-root'
hostPath:
path: /Users/ovidiu/runtime/httpd-root
---
apiVersion: v1
kind: Service
metadata:
name: 'httpd-local'
spec:
type: 'LoadBalancer'
selector:
function: 'httpd-server'
ports:
- name: 'http'
protocol: 'TCP'
port: 80
targetPort: 80
Deploy
kubectl apply -f ./httpd.yaml
Undeploy
kubectl delete pod httpd-local
kubectl delete service httpd-local
Logs
httpd container image is configured to generate error and access logs at stdout/stderr.