K8S(kubernetes)入门之常用命令

本篇文章旨意不在解释k8s原理和如何搭建,反而只是记录普通常用的命令,方便在工作中翻阅。kubernetes中文文档

准备

首先你应该知道k8s是cs架构,我们如果需要操作API就必须先安装 CLI 工具 kubectl

安装 kubectl

Mac安装

 curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl

Linux安装

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

其它方式或者指定版本安装请参考 https://www.kubernetes.org.cn/installkubectl

配置

kubectl 根据api形式访问、管理集群资源,所以在使用之前我们需要先配置相关连接信息config 如:cluster,context,user。如果是在自己本机创建的集群(master)节点上无需配置,默认连接 http://localhost:8080,如果是其它机器需要在~/.kube/config中添加配置信息。当然也可以配置多个集群信息进行管理,详细说明文档 请戳我

集群管理命令

查看集群列表

kubectl config get-contexts

切换集群

kubectl config use-context {contextname}

查询日志 logs

如果 pod 中只有一个容器可以不用指定 -c 容器名
kubectl logs podname [-c container-name]
查询之前运行过但已终止的
kubectl logs -p podname
查询最近1000行容器日志
kubectl logs --tail=1000 podname

查询资源描述信息 describe

查询pod描述信息
kubectl describe pods podname
查询service描述信息
kubectl describe svc servicename
查询节日描述信息
kubectl describe node nodename

资源管理

创建资源

  1. 编写资源配置文件 .yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    name: resourcename
  name: resourcename
  namespace: default
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    serviceName: resourcename
  type: ClusterIP
  1. 创建
kubectl create -f resourcename.yaml

查询资源 get

查询所有 namespace

kubectl get ns  或者  kubectl get namespace

查询节点信息

kubectl get nodes

注意 get命令默认查询的是defaultnamespace下的资源信息,如果需要指令namespace 需要 添加-n {namespace} 当然也可以添加 --all-namespaces 查看所有资源。 如查看kube-system下的资源 kubectl get -n kube-system
--show-labels 可以显示标签信息

查询 service

kubectl get svc 或者 kubectl get service

查询 pod

查询默认空间下pods信息
kubectl get pods
查询所有空间下pods信息
kubectl get pods --all-namespaces
查询详细信息
kubectl get pods -o wide
查询指定pod信息
kubectl get pod prometheus
根据重启次数排序查询pod信息
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'

查询 deployment

kubectl get deployment

查询 configmap

kubectl get configmap
查询prometheus配置信息
kubectl get configmap prometheus -o yaml

查询 daemonset

kubectl get ds 或者 kubectl get daemonset

修改资源

修改deployment资源
kubectl edit deployment deploymentname

为资源打标签

kubectl label pod podname tagname=tagvalue

查看资源变更记录

kubectl rollout history deployment/xxxx --revision=3

其它

进入docker容器中

kubectl exec -it podname /bin/bash

帮助命令

kubectl command -h

感谢

感谢各位老铁花时间观看!
欢迎留言指正!
内容持续更新!
微信号lykos5

你可能感兴趣的:(K8S(kubernetes)入门之常用命令)