
快速创建/部署应用:
与VM虚拟机相比,容器镜像的创建更加容易。
持续开发、集成和部署:
提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。
开发和运行相分离:
在build或者release阶段创建容器镜像,使得应用和基础设施解耦。
开发,测试和生产环境一致性:
在本地或外网(生产环境)运行的一致性。
云平台或其他操作系统:
可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。
Loosely coupled,分布式,弹性,微服务化:应用程序分为更小的、独立的部件,可以动态部署和管理。
资源隔离
资源利用:更高效
Kubernetes能提供一个以“容器为中心的基础架构”,满足在生产环境中运行应用的一些常见需求,如:
多个进程(作为容器运行)协同工作。(Pod)
存储系统挂载
Distributing secrets
应用健康检测
应用实例的复制
Pod自动伸缩/扩展
Naming and discovering
负载均衡
滚动更新
资源监控
日志访问
调试应用程序
提供认证和授权
查看k8s支持的全部命令:kubectl -h查看指定command的支持参数:例:kubectl label -h【查看命令】1.查看namespace:kubectl get ns2.在非master节点上执行命令:kubectl get po -s master节点ip端口号3.查看当前注册的node节点及节点状态:kubectl get nodes4.查看node结点的标签:kubectl get nodes --show-labels5.查看namespace为test下所有的pods的运行节点:kubectl get po -n test -o wide6.按selector名来查找pod:kubectl get pod --selector name=redis7.查看namespace为test下的所有资源(不包含ingresses):kubectl get all -n test8.查看namespace为test下的ingresses:kubectl get ingresses -n test【删除命令】1.删除pod:kubectl delete pod master节点ip端口号 -n 应用环境名称2.强制删除namespacekubectl -s (master节点ip端口号) delete pod 应用版本号 --force --grace-period=0 -n 应用环境名称【标签】为某个node节点添加gw标签(如nodexx):kubectl label nodes nodexx gw=yes2.修改某个node节点的gw标签值:kubectl label nodes nodexx gw=no --overwrite3.删除某个node节点的gw标签:kubectl label nodes nodexx gw-node【节点调度】1.将某一node节点设置为不可调度:kubectl cordon nodexx2.将运行在node节点上的pod驱离:kubectl drain nodexx3.将某一node节点恢复为可调度:kubectl uncordon nodexx【服务发布错误排查】1.查看pod名称:kubectl get po -n test2.查看该pod的详细情况:master节点:kubectl describe po 应用版本号 -n 应用环境名称查看各环境版本详细其他节点:kubectl -s (master节点ip端口号) describe po 应用环境名称 -n |grep Image:|awk -F : '{print $2}'
查看容器:docker ps|grep 容器对应字符号关闭容器:docker kill docker进程号进入容器:docker exec -it docker进程号/bin/bash重启docker:1)、systemctl restart docker2)、docker restart 容器ID重启子网:systemctl restart flannelzookeeper 的使用:容器内重启进入 app/tomcat/bin 重启 restart.sh状态:status.sh
docker pull ${CONTAINER NAME} #拉取镜像docker images #查看本地所有镜像docker ps #查看所有正在运行的容器,加-q返回iddocker ps -a #查看所有容器,加-q返回iddocker rm ${IMAGE NAME/ID} #删除镜像docker rm ${CONTAINER NAME/ID} #删除容器docker save ${IMAGE NAME} > ${FILE NAME}.tar #将镜像保存成文件docker load < ${FILE NAME}.tar #从文件加载镜像docker start ${CONTAINER NAME/ID} #运行一个以前运行过的容器docker stop ${CONTAINER NAME/ID} #停止一个正在运行的容器docker logs ${CONTAINER NAME/ID} #显示运行容器的日志docker run... #运行一个容器 --name ${container name} #设置容器名称-p ${host port}:${container port} #映射主机和容器内的端口-e ${env name}=${env value} #添加环境变量-d #后台运行-v ${host folder path}:${container folder path} #将主机目录挂在到容器内高级命令# Advance usedocker ps -f "status=exited" #显示所有退出的容器docker ps -a -q #显示所有容器iddocker ps -f "status=exited" -q #显示所有退出容器的iddocker restart $(docker ps -q) #重启所有正在运行的容器docker stop $(docker ps -a -q) #停止所有容器docker rm $(docker ps -a -q) #删除所有容器docker rm $(docker ps -f "status=exited" -q) #删除所有退出的容器docker rm $(docker stop $(docker ps -a -q)) #停止并删除所有容器docker start $(docker ps -a -q) #启动所有容器docker rmi $(docker images -a -q) #删除所有镜像docker exec -it ${CONTAINER NAME/ID} /bin/bash #进入容器内docker exec -it ${CONTAINER NAME/ID} ping ${CONTAINER NAME/ID} #一个容器ping另外一个容器docker top ${CONTAINER NAME/ID} #显示一个容器的top信息docker stats #显示容器统计信息(正在运行)docker stats -a #显示所有容器的统计信息(包括没有运行的)docker stats -a --no-stream #显示所有容器的统计信息(包括没有运行的) ,只显示一次docker stats --no-stream | sort -k8 -h #统计容器信息并以使用流量作为倒序docker systemdocker system df #显示硬盘占用docker system events #显示容器的实时事件docker system info #显示系统信息docker system prune #清理文件
kubectl :枯白个筹
文章转载自心在远方AND走在路上,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




