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 常用命令 1、前置条件 cp kubectl /usr/bin/ chmod 777 /usr/bin/k...
    Jenwey阅读 733评论 0 0
  • [toc] k8s 入门之16个基本概念 Kubernetes是Google开源的容器集群管理系统,是Google...
    会理发的店小二阅读 896评论 0 0
  • 简介 kubernetes简称k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。中文官网:https:/...
    Y了个J阅读 1,413评论 0 0
  • 1. 查看类命令 获取节点相应服务的信息 kubectl get nodes 如果需要按selector名来查找相...
    garyond阅读 16,281评论 0 5
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,552评论 16 22