Kubernetes 容器自动化部署、管理与编排引擎
Kubernetes(k8s) 是由Google开源的一个在容器化下,进行应用容器自动化部署,管理,编排,自动伸缩,实现服务高可用的管理引擎;基础概念Node: 提供容器执行所需资源与环境(可以是物理机或者虚拟机)Pod: k8s中管理运行的最小单元Deployment: 定义一类Pod的启动Service: 一组Pod组合后的逻辑定义常用命令helpkubectl help...
·
Kubernetes(k8s) 是由Google开源的一个在容器化下,进行应用容器自动化部署,管理,编排,自动伸缩,实现服务高可用的管理引擎;
基础概念
Node: 提供容器执行所需资源与环境(可以是物理机或者虚拟机)
Pod: k8s中管理运行的最小单元
Deployment: 定义一类Pod的启动
Service: 一组Pod组合后的逻辑定义
常用命令
help
kubectl help
集群管理相关
- 显示当前客户端配置访问哪些k8s集群
kubectl config get-contexts
- 将指定集群设置为当前默认操作的对象
kubectl config set-context <insert-context-name-here>
- 查看当前所操作集群下有哪些namespace
kubectl get namespace
- 设置当前操作集群默认操作的namespace
kubectl config set-context --current --namespace=<insert-namespace-name-here>
- 查看当前集群中包含的Node (
-o wide
显示更详细的信息)
kubectl get node -o wide
- 查看某个Node的更详细信息(包括服务器网络, 内存, CPU等资源状况)
kubectl describe node <insert-node-name-here>
应用发布管理相关(默认当前namespace下)
- 从一个文件创建一个deployment
kubectl create -f <file-path>
- 列出所有deployment(
-o wide
显示更详细的信息)
kubectl get deployment -o wide
- 查看某个deployment的详细内容
kubectl get deployment/<insert-deployment-name-here> -o=yaml
- 直接编辑某个deployment的内容 (修改保存后会改变pod的运行状态)
kubectl edit deployment/<insert-deployment-name-here> -o=yaml
- 删除一个deployment(会自动删除由改deployment部署的pod)
kubectl delete deployment healthapp-admin-web
- 列出所有的pods(
-o wide
显示更详细的信息)
kubectl get pods -o wide
- 启动一个应用,并设置副本为3
kubectl describe pod <insert-pod-name-here>
- 根据pod名称删除一个pod(管理该pod的deployment会重新启动一个新pod实例)
kubectl delete pod <insert-pod-name-here>
- 更新deployment中的image
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
- 进入到一个正在运行的容器中
kubectl exec -it <podName> -c <containerName> -n <namespace> -- shell comand
kubectl exec -it <insert-pod-name-here> -- /bin/bash
- 使用cp命令进行本地与pod之间的文件相互Copy
# Copy /tmp/foo_dir local directory to /tmp/bar_dir in a remote pod in the default namespace
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
# Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container
kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
更多推荐
所有评论(0)