在Docker、KVM、K8S常见主要命令以及在Centos7.9中部署的关键步骤学习备存

一、Docker、KVM、K8S 核心命令速查表

1. Docker 核心命令

bash 复制代码
# 基础操作
docker run -d -p 80:80 nginx                 # 启动nginx容器并映射端口
docker ps                                   # 查看运行中容器
docker ps -a                                # 查看所有容器
docker logs -f [容器ID]                     # 实时查看容器日志
docker exec -it [容器ID] bash               # 进入容器

# 镜像管理
docker build -t myapp:v1 .                  # 构建镜像
docker pull redis:alpine                    # 拉取镜像
docker images                               # 查看本地镜像
docker rmi myapp:v1                         # 删除镜像

# 容器生命周期
docker start/stop/restart [容器ID]          # 启动/停止/重启容器
docker rm [容器ID]                          # 删除容器
docker system prune -a                      # 清理所有未使用资源

2. KVM 核心命令

bash 复制代码
# 虚拟机管理
virsh list --all                            # 查看所有VM状态
virsh start/shutdown/destroy [VM名称]       # 启动/关机/强制关闭VM
virsh reboot [VM名称]                       # 重启VM
virsh console [VM名称]                      # 连接VM控制台

# 资源管理
virt-install --name web --memory 2048 ...   # 创建VM
qemu-img create -f qcow2 /vm/web.img 20G    # 创建磁盘镜像
virsh snapshot-create [VM名称]              # 创建快照
virsh snapshot-revert [VM名称] [快照名]      # 恢复快照

3. K8S 核心命令

bash 复制代码
# 资源查看
kubectl get nodes/pods/services/deployments # 查看资源列表
kubectl describe pod [Pod名称]              # 查看Pod详情
kubectl logs -f [Pod名称]                   # 查看Pod日志

# 资源操作
kubectl apply -f app.yaml                   # 创建/更新资源
kubectl delete -f app.yaml                  # 删除资源
kubectl scale deployment web --replicas=3   # 扩缩容
kubectl expose deployment web --port=80     # 创建Service

# 调试工具
kubectl exec -it [Pod名称] -- bash          # 进入Pod
kubectl port-forward pod/web 8080:80        # 端口转发

二、CentOS 7.9 部署关键步骤

1. Docker 部署步骤

bash 复制代码
# 1. 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 2. 添加Docker源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3. 安装Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 4. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 5. 验证安装
docker version

2. KVM 部署步骤

bash 复制代码
# 1. 检查硬件虚拟化支持
grep -E 'vmx|svm' /proc/cpuinfo || echo "硬件不支持虚拟化"

# 2. 安装KVM及工具
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils

# 3. 启动libvirtd服务
sudo systemctl start libvirtd
sudo systemctl enable libvirtd

# 4. 配置网络桥接(示例)
sudo nmcli con add type bridge con-name br0 ifname br0
sudo nmcli con add type bridge-slave ifname eth0 master br0
sudo systemctl restart network

# 5. 验证安装
virt-host-validate

3. K8S 单节点部署 (Kubeadm 方式)

bash 复制代码
# 1. 关闭防火墙和SELinux
sudo systemctl disable --now firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

# 2. 禁用Swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab

# 3. 添加K8S源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
EOF

# 4. 安装K8S组件
sudo yum install -y kubelet kubeadm kubectl

# 5. 启动kubelet
sudo systemctl enable --now kubelet

# 6. 初始化集群(单节点)
sudo kubeadm init --pod-network-cidr=192.168.0.0/16

# 7. 配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 8. 安装网络插件(Calico)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

# 9. 允许Master节点运行Pod(单节点模式)
kubectl taint nodes --all node-role.kubernetes.io/control-plane-

三、部署验证命令

bash 复制代码
# 验证Docker
docker run hello-world

# 验证KVM
virsh list --all

# 验证K8S
kubectl get nodes
kubectl get pods -A

以上命令和步骤经过精简,覆盖了基础使用场景。实际生产环境中,建议根据具体需求调整参数并增强安全配置。



以上感谢...技术无止境!

相关推荐
2401_8920709815 小时前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
雪可问春风15 小时前
docker环境部署
运维·docker·容器
世人万千丶15 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
yuzhuanhei15 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
lwx91485216 小时前
Linux-Shell算术运算
linux·运维·服务器
somi716 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白16 小时前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
黄昏晓x16 小时前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪16 小时前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神17 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习