Skip to the content.

CentOS 9 实战(17):Podman 容器管理

欢迎来到《CentOS 9 实战速查手册》专栏的第 17 篇文章。在这里,我们将探讨 Podman 容器管理,并详细介绍 Kubernetes 以及如何将 PodmanKubernetes 集成。

1. Podman 简介

1.1 Podman 的优势

Podman 是一个开源的、无守护进程的容器管理工具,具有以下优势:

1.2 安装 Podman

CentOS 9 上可以使用以下命令安装 Podman:

sudo dnf install -y podman

1.3 Podman 的基本使用

拉取镜像

使用 Podman 拉取镜像:

podman pull nginx:latest

运行容器

使用 Podman 运行容器:

podman run -d --name mynginx -p 8080:80 nginx:latest

查看运行中的容器

查看当前运行的容器:

podman ps

查看所有容器

查看所有容器(包括停止的容器):

podman ps -a

停止容器

停止一个运行中的容器:

podman stop mynginx

删除容器

删除一个容器:

podman rm mynginx

查看镜像

查看本地存储的镜像:

podman images

删除镜像

删除一个镜像:

podman rmi nginx:latest

2. Kubernetes 简介

2.1 Kubernetes 的基本概念

Kubernetes 是一个开源的容器编排平台,用于自动部署、扩展和管理容器化应用程序。以下是一些关键概念:

2.2 Kubernetes 的优势

2.3 安装 Minikube

Minikube 是一个用于在本地运行 Kubernetes 的工具,非常适合学习和开发。使用以下命令安装 Minikube:

# 安装 Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

2.4 启动 Minikube

使用以下命令启动 Minikube:

minikube start

2.5 部署应用

使用以下命令部署一个简单的 Nginx 应用:

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

3. Podman 与 Kubernetes 集成

3.1 Podman 生成 Kubernetes YAML

Podman 可以将容器的运行状态导出为 Kubernetes YAML 文件,使用以下命令生成 Kubernetes YAML:

podman generate kube <container_id> > mypod.yaml

3.2 使用 Podman 部署 Kubernetes YAML

使用以下命令将生成的 Kubernetes YAML 部署到 Minikube:

kubectl apply -f mypod.yaml

3.3 检查部署状态

使用以下命令检查部署状态:

kubectl get pods
kubectl get services

3.4 删除部署

使用以下命令删除部署:

kubectl delete -f mypod.yaml

4. 实战:使用 Podman 管理容器并与 Kubernetes 集成

4.1 拉取镜像并运行容器

podman pull nginx:latest
podman run -d --name mynginx -p 8080:80 nginx:latest

4.2 导出容器状态为 Kubernetes YAML

podman generate kube mynginx > mynginx.yaml

4.3 部署到 Minikube

kubectl apply -f mynginx.yaml

4.4 检查部署状态

kubectl get pods
kubectl get services

4.5 测试部署

在浏览器中访问 http://<minikube_ip>:<node_port>,确认 Nginx 服务已成功部署。

4.6 删除部署

kubectl delete -f mynginx.yaml

5. 总结

在这篇文章中,我们介绍了 Podman 容器管理工具,以及 Kubernetes 的基本概念和优势。我们还探讨了如何将 PodmanKubernetes 集成,通过实际示例展示了如何使用 Podman 生成 Kubernetes YAML 并部署到 Minikube 上。通过学习这些内容,你可以更好地利用 PodmanKubernetes 进行容器化应用的管理和编排。