首页 > 技术文章 > K8s组件及常用命令介绍

dyd168 2021-01-15 21:31 原文

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

推荐阅读