Kubernetes 容器自动化部署、管理与编排引擎

Kubernetes(k8s) 是由Google开源的一个在容器化下,进行应用容器自动化部署,管理,编排,自动伸缩,实现服务高可用的管理引擎;


基础概念

Node: 提供容器执行所需资源与环境(可以是物理机或者虚拟机)
Pod: k8s中管理运行的最小单元
Deployment: 定义一类Pod的启动
Service: 一组Pod组合后的逻辑定义

常用命令

help

kubectl help

集群管理相关

  1. 显示当前客户端配置访问哪些k8s集群
kubectl config get-contexts
  1. 将指定集群设置为当前默认操作的对象
kubectl config set-context 
  1. 查看当前所操作集群下有哪些namespace
kubectl get namespace
  1. 设置当前操作集群默认操作的namespace
kubectl config set-context --current --namespace=
  1. 查看当前集群中包含的Node (-o wide 显示更详细的信息)
kubectl get node -o wide
  1. 查看某个Node的更详细信息(包括服务器网络, 内存, CPU等资源状况)
kubectl describe node 

应用发布管理相关(默认当前namespace下)

  1. 从一个文件创建一个deployment
kubectl create -f 
  1. 列出所有deployment(-o wide 显示更详细的信息)
kubectl get deployment -o wide
  1. 查看某个deployment的详细内容
kubectl get deployment/ -o=yaml
  1. 直接编辑某个deployment的内容 (修改保存后会改变pod的运行状态)
kubectl edit deployment/ -o=yaml
  1. 删除一个deployment(会自动删除由改deployment部署的pod)
kubectl delete deployment healthapp-admin-web
  1. 列出所有的pods(-o wide 显示更详细的信息)
kubectl get pods -o wide
  1. 启动一个应用,并设置副本为3
kubectl describe pod  
  1. 根据pod名称删除一个pod(管理该pod的deployment会重新启动一个新pod实例)
kubectl delete pod  
  1. 更新deployment中的image
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
  1. 进入到一个正在运行的容器中
kubectl exec -it  -c  -n  -- shell comand
kubectl exec -it   -- /bin/bash
  1. 使用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 :/tmp/bar_dir
  
# Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container
kubectl cp /tmp/foo :/tmp/bar -c 

你可能感兴趣的:(CI与CD的实践,k8s)