Multi-Container Pods

Fix the Deployment in Namespace management where both containers try to listen on port 80.

Remove one container.

controlplane:~$ k get deployments.apps -n management 
NAME           READY   UP-TO-DATE   AVAILABLE   AGE
collect-data   0/2     2            0           28s

controlplane:~$ k logs -n management deployments/collect-data 
Found 2 pods, using pod/collect-data-5759c5c888-n9nxd
Defaulted container "nginx" out of: nginx, httpd
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2025/10/22 09:54:56 [notice] 1#1: using the "epoll" event method
2025/10/22 09:54:56 [notice] 1#1: nginx/1.21.6
2025/10/22 09:54:56 [notice] 1#1: built by gcc 10.3.1 20211027 (Alpine 10.3.1_git20211027) 
2025/10/22 09:54:56 [notice] 1#1: OS: Linux 6.8.0-51-generic
2025/10/22 09:54:56 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/10/22 09:54:56 [notice] 1#1: start worker processes
2025/10/22 09:54:56 [notice] 1#1: start worker process 33

controlplane:~$ k logs -n management deployments/collect-data -c httpd
Found 2 pods, using pod/collect-data-5759c5c888-n9nxd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.0.6. Set the 'ServerName' directive globally to suppress this message
(98)Address in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs

controlplane:~$ k get deployments.apps -o yaml -n management collect-data 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: collect-data
  namespace: management
spec:
  replicas: 2
  selector:
    matchLabels:
      app: collect-data
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: collect-data
    spec:
      containers:
      - image: nginx:1.21.6-alpine
        imagePullPolicy: IfNotPresent
        name: nginx

      - image: httpd:2.4.52-alpine
        imagePullPolicy: IfNotPresent
        name: httpd

controlplane:~$ k edit deployments.apps -n management collect-data       # - name: httpd     # removed
deployment.apps/collect-data edited

controlplane:~$ k get deployments.apps -n management 
NAME           READY   UP-TO-DATE   AVAILABLE   AGE
collect-data   2/2     2            2           8m41s