K8s介绍:
Kubernetes(K8s)是基于容器技术的分布式架构方案,是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,提高了大规模容器集群管理的便捷性。K8s也提供了完善的管理工具,包括开发部署,测试、运维监控在内的各个环节
官方文档地址:http://docs.kubernetes.org.cn/683.html
K8s组件:
K8s常用命令:
# 列出所有不同资源对象
kubectl get all
# 查看所有pod
kubectl get pods
# 查看pod时显示标签信息
kubectl get pods --show-labels
# 根据指定标签查找pod
kubectl get pod -l app=nginx
# 查看node节点
kubectl get node
# 查看node节点时显示标签信息
kubectl get node --show-labels
# 查看pod更多额外信息,可以查看pod运行在哪个节点上
kubectl get pod -o wide
# 查看服务详情
kubectl get svc
# 查看命名空间
kubectl get ns
# 查看所有pod的命名空间
kubectl get ns --all-namespaces
# 查看所有pod的命名空间及其所运行节点
kubectl get pod --all-namespaces
# 查看所有pod的命名空间的更多额外信息
kubectl get pod --all-namespaces -o wide
# 查看指定命名空间的pod,两条命令都可以
kubectl get pod --namespace=[namespace-name]
kubectl get pod -n [namespace-name]
# 查看replica set
kubectl get rs
# 查看已部署的应用,两条命令都可以
kubectl get deployment
kubectl get deploy
# 查看已部署应用更多额外信息
kubectl get deploy -o wide
# 列出所有replication controllers和service信息
kubectl get rc,services
# 查看endpoint列表
kubectl get endpoints
# 以“dyd.yaml”配置文件中指定资源对象和名称输出JSON格式的pod信息
kubectl get yaml文件 -o wide
kubectl get /tmp/dyd.yaml -o wide
# 查看node详细信息
kubectl describe node [node-name]
# 查看pod详细信息,pod无法创建是会用到
kubectl describe pod [pod-name]
# 根据yaml创建资源,两条命令都可以
kubectl create -f yaml文件
kubectl apply -f yaml文件
# 根据“dyd.yaml”定义的名称删除pod,yaml文件并不会被删除
kubectl delete -f yaml文件
kubectl delete -f dyd.yaml
# 删除所有包含某个标签的pod和service
kubectl delete pod,svc -l run=nginx
# 启动nginx实例
kubectl run nginx --image=nginx
# 启动nginx实例,暴露端口6666
kubectl run nginx --image=nginx --port=6666
# 启动nginx实例并设置环境变量“DNS_DOMAIN = cluster”和“POD_NAMESPACE = default”
kubectl run nginx --image=nginx --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
# 启动docker实例,设置环境变量“DNS_DOMAIN = cluster”和“POD_NAMESPACE = default”并暴露端口8888
kubectl run nginx --image=nginx --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" --port=8888
# 编辑deployment
kubectl edit deployment
# 编辑名为“nginx-tyyy”的service
kubectl edit svc/nginx-tyy
# 通过文件或者标准输入替换原有资源
kubectl replace -f /tmp/dyd.yaml
# 查看指定pod日志
kubectl logs [pod-name]
# 实时查看日志
kubectl logs -f [pod-name]
# 返回所有标签为app=nginx的pod的合并日志
kubectl logs -l app=nginx
# 执行pod的date命令
kubectl exec [pod-name] -- date
# 打印受支持的api版本信息
kubectl api-versions
# 打印客户端和服务端版本信息
kubectl version
# 获取资源及其文档
kubectl explain pod\services\rs\rc