【K8S系列】第八讲:Kubernetes 之kubectl 常用命令汇总

简介: 【K8S系列】第八讲:Kubernetes 之kubectl 常用命令汇总

kubectl 是 Kubernetes 自带的客户端,可以用它来直接操作 Kubernetes 集群。

日常在使用 Kubernetes 的过程中,kubectl 工具应该是最常用的工具了。需要了解下如何高效的使用它。

官方介绍:

Command line tool (kubectl) | Kubernetes

本文总结了一些常用命令,供学习使用


一、kubetcl简单介绍

在控制台输入

kubectl --help

会出现以下界面,大概稍微列出来一些常用命令,如下图:



二、命令介绍

详细介绍:

  1. get:显示一个或多个资源
  2. describe:显示资源详情:
  3. create:从文件或标准输入创建资源:create    
  4. update:从文件或标准输入更新资源:  
  5. delete:通过文件名、标准输入、资源名或者 label 删除资源:    
  1. log:输出 pod 中一个容器的日志:      
  1. rolling-update:对指定的 RC 执行滚动升级
  2. exec:在容器内部执行命令
  3. port-forward:将本地端口转发到 Pod
  4. proxy:为 Kubernetes API server 启动代理服务器  
  5. run:在集群中使用指定镜像启动容器    
  6. expose:将 SVC 或 pod 暴露为新的 kubernetes service
  7. label :更新资源的 label    
  1. config:修改 kubernetes 配置文件
  2. cluster-info:显示集群信息
  3. api-versions :以”组/版本”的格式输出服务端支持的 API 版本
  1. version:输出服务端和客户端的版本信息
  2. help:显示各个命令的帮助信息        
  3. ingress-nginx:管理 ingress 服务的插件(官方安装和使用方式)

三、部分命令详细介绍

3.1 create

# yaml
kubectl create -f test-rc.yaml
kubectl create -f test-service.yaml
# json
kubectl create -f ./pod.json
cat pod.json | kubectl create -f -
# yaml2json
kubectl create -f docker-registry.yaml --edit -o json

1.使用url 创建

kubectl create -f https://git.io/vPieo

2. 一次性创建

kubectl create -f test-service.yaml -f test.yaml

3.根据目录创建

kubectl create -f <dir>

3.2 get

1.查看所有 Node 或 Namespace

kubectl get nodes
kubectl get namespace

2.查看所有 Pod 对象

# 查看子命令帮助信息
kubectl get --help
# 列出默认namespace中的所有pod
kubectl get pods
# 列出指定namespace中的所有pod
kubectl get pods --namespace=test
# 列出所有namespace中的所有pod
kubectl get pods --all-namespaces
# 列出所有pod并显示详细信息
kubectl get pods -o wide
kubectl get replicationcontroller web
kubectl get -k dir/
kubectl get -f pod.yaml -o json
kubectl get rc/web service/frontend pods/web-pod-13je7
kubectl get pods/app-prod-78998bf7c6-ttp9g --namespace=test -o wide
kubectl get -o template pod/web-pod-13je7 --template={{.status.phase}}
# 列出该namespace中的所有pod包括未初始化的
kubectl get pods,rc,services --include-uninitialized

3.查看service

kubectl get svc
kubectl get service

4.查看deployment

# 查看全部deployment
kubectl get deployment
# 列出指定deployment
kubectl get deployment my-app

3.3 describe

1.显示 Pod 详细信息

kubectl describe pods/nginx
kubectl describe pods nginx
kubectl describe -f nginx.json

2.查看 Node 详细信息

kubectl describe nodes nginx

3.RC 关联的 Pod 信息

kubectl describe pods <rc-name>

3.4 rolling-update

1.滚动更新

# 滚动更新 pod test-pod
kubectl rolling-update test-pod -f test-pod2.json
# 更新资源名称并更新镜像
kubectl rolling-update test-pod test-pod2 --image=image:v2
# 更新 test-pod pod 中的镜像
kubectl rolling-update test-pod --image=image:v2
# 退出已存在的进行中的滚动更新
kubectl rolling-update test-pod test-pod2 --rollback
# 强制替换; 删除后重新创建资源; 服务会中断
kubectl replace --force -f ./test.json
# 添加标签
kubectl label pods test-pod new-label=awesome
# 添加注解
kubectl annotate pods test-pod icon-url=http://*****

3.5 exec

1.进入某个容器:eg:nginx

kubectl exec test-pod -c nginx-container -it -- bash

2.指定容器执行命令

可以在寄主机上,不进入容器直接执行命令

kubectl exec test-pod -c nginx-container -- date

3.6 log

1.查看日志并实时刷新

kubectl logs -f test-pod -c nginx-container

2.查看日志不刷新

kubectl logs test-pod --namespace=test
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
4天前
|
iOS开发 MacOS Windows
|
3天前
|
存储 Kubernetes 安全
Kubernetes 命令大全
Kubernetes 命令大全
|
3天前
|
Kubernetes 负载均衡 数据中心
三、Kubernetes(K8s)入门(一)
三、Kubernetes(K8s)入门(一)
|
3天前
|
存储 Kubernetes 监控
使用Kubernetes进行容器编排:技术详解与实践
【5月更文挑战第16天】Kubernetes,简称K8s,是开源容器编排系统,用于自动化部署、扩展和管理容器化应用。核心概念包括节点、Pod(最小部署单元)、服务、标签和副本集。其特点有高可用性、可扩展性、自动化和可移植性。实践使用涉及安装配置集群、编写YAML部署清单、应用部署、监控管理和扩展更新。Kubernetes帮助提升应用的可用性、可扩展性和可移植性。
|
3天前
|
运维 Kubernetes Linux
Kubernetes详解(十)——Pod对象高级控制命令
Kubernetes详解(十)——Pod对象高级控制命令
12 0
|
4天前
|
分布式计算 Kubernetes 监控
容器服务Kubernetes版产品使用合集之怎么实现把 spark 跑在k8s
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
19 1
|
4天前
|
Kubernetes API 调度
|
4天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
2天前
|
资源调度 Kubernetes 监控
Kubernetes 集群性能优化实践
【5月更文挑战第17天】在容器化和微服务架构日益普及的当下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随着集群规模的增长和业务复杂度的提升,性能优化成为确保系统稳定性与高效运行的关键。本文将深入探讨 Kubernetes 集群性能优化的策略与实践,覆盖从节点资源配置到网络通信优化,再到高效的资源调度机制,旨在为运维人员提供系统的优化路径和具体的操作建议。
|
3天前
|
存储 Java Serverless
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储