搜索

pdf文档 Kubernetes 管理 Docker 容器

675.91 KB 5 页 6 下载 385 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档介绍了Kubernetes作为容器集群管理系统的功能,包括自动化部署、扩缩容和维护。详细讲解了使用Minikube在MacOS上配置Kubernetes环境的步骤,包括安装依赖、创建Deployment、Service以及处理问题的方法。文档还展示了如何通过Dockerfile打包Node.js应用镜像,并使用Kubernetes部署和更新应用。
AI总结
# Kubernetes 管理 Docker 容器 ## Kubernetes 简介 Kubernetes 是一个开源的容器集群管理系统,能够实现容器集群的自动化部署、自动扩缩容和维护,帮助用户快速部署应用、扩展功能并优化资源使用。 --- ## Minikube 简介 Minikube 是一个在本地运行 Kubernetes 集群的工具,适合开发和测试。在 MacOS 上,安装依赖工具如下: - 使用 `brew` 安装 `kubectl` 和 `minikube`: ```bash brew install kubectl brew install minikube ``` - 处理权限问题: ```bash sudo chown -R $(whoami) /usr/local/lib/pkgconfig ``` --- ## 启动 Minikube 集群 - 启动命令: ```bash minikube start ``` - 启动 Dashboard: ```bash minikube dashboard ``` --- ## Docker Desktop Dashboard 通过 Docker Desktop 提供的 Dashboard,可以监控容器运行状态,包括资源使用情况(CPU、内存、磁盘 I/O、网络 I/O 等)。 --- ## 打包 Node.js 应用镜像 1. 创建 Node.js 应用程序 `server.js`: ```javascript var http = require('http'); var handleRequest = function(request, response) { console.log('Received request for URL: ' + request.url); response.writeHead(200); response.end('Hello World!'); }; var www = http.createServer(handleRequest); www.listen(8080); ``` 2. 创建 Dockerfile: ```dockerfile FROM node:10.20.0 EXPOSE 8080 COPY server.js . CMD node server.js ``` 3. 打包镜像: ```bash docker build -t hello-node:v1 . ``` --- ## 部署到 Kubernetes 1. 创建 Deployment: ```bash kubectl create deployment hello-node --image=hello-node:v1 --port=8080 ``` 或者: ```bash kubectl run hello-node --image=hello-node:v1 --port=8080 ``` 2. 查看 Deployment 和 Pod: ```bash kubectl get deployments kubectl get pods ``` --- ## 创建 Service 默认情况下,Pod 只能通过集群内部 IP 访问。要暴露 Pod 给外部访问,创建 Service: ```bash kubectl expose deployment hello-node --type=LoadBalancer --port=8080 ``` 查看 Service: ```bash kubectl get services ``` --- ## 浏览器访问 Service 通过以下命令即可在浏览器中访问 Service: ```bash minikube service hello-node ``` --- ## 更新应用 1. 修改 Node.js 程序并重新构建镜像: ```bash docker build -t hello-node:v2 . ``` 2. 更新 Deployment 镜像: ```bash kubectl set image deployment/hello-node hello-node=hello-node:v2 ``` 3. 重新访问 Service: ```bash minikube service hello-node ``` --- ## 清理资源 删除集群中的资源: ```bash kubectl delete service hello-node kubectl delete deployment hello-node ``` --- ## 服务停用 停止 Minikube 集群: ```bash minikube stop ``` --- ## 故障处理 1. 问题:`kubectl get nodes` 报错: ```bash The connection to the server 127.0.0.1:55000 was refused – did you specify the right host or port? ``` 解决方法: ```bash rm -rf ~/.kube minikube start ``` --- ## 参考 - 使用 Minikube 在 Kubernetes 中运行应用
P1
P2
P3
P4
P5
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.