常用的k8s管理命令

这篇具有很好参考价值的文章主要介绍了常用的k8s管理命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kubernetes 是一个由主节点和工作节点组成的容器编排工具。它只允许通过作为控制平面核心组件的 API 服务器进行通信。API 服务器公开了一个 HTTP REST API,允许内部组件(如用户和集群)和外部组件之间的通信。
你可以将 API 服务器视为 Kubernetes 的主要用户界面或前端。它使您能够查询、更新或管理 Kubernetes 对象或资源的状态。为了建立这些交互,Kubernetes API 可以直接发出 REST 请求、使用客户端库或通过kubectl 命令行接收直接命令。

kubectl 可以帮助您执行各种操作,包括:

部署容器化应用
运行 Kubernetes 操作
监控任务
检查和管理集群资源
查看系统日志

kubectl 是kubernetes的一个管理工具,需要安装,并且一般安装在主节点上。

kubeclt 的语法:

kubectl [command] [TYPE] [NAME] [flags]
  • command:描述要执行的操作类型。常见操作包括创建、写入、获取、应用 和删除。这些命令要么创建新的 Kubernetes 对象,要么修改现有对象,要么请求有关现有对象的信息。你可以在单个命令中指定多个资源。
  • TYPE —描述你的命令所针对的资源类型。常见的选项是pod、 service、 deployment、 daemonset、 statefulset、 job 或cronjob。
  • NAME —这是区分大小写的,指定你的命令应该应用到的资源的名称。提供资源名称不是强制性的——如果你提供名称,则命令仅限于该特定资源(或者如果没有该名称的资源,你会收到错误消息。如果不指定,则该命令适用于当前命名空间集群中的所有资源。
  • flags —这些表示特殊选项或对特定信息的请求。它们也可以用作修饰符来覆盖默认值或环境变量。

1、get 查询资源

使用 kubectl get 操作列出一个或多个资源

  • 查看所有k8s节点
kubectl get nodes

常用的k8s管理命令,k8s,kubernetes,容器,云原生

  • 查看所有pod

1、查看所有的pod

kubectl  get pod -A  

2、指定名称空间,查看对应名称空间的pod, -n 后面是名称空间

[root@k8s-master01 /]# kubectl get pod -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-7cc8dd57d9-wrcgh   1/1     Running   0          138d
calico-node-9qpvq                          1/1     Running   0          138d
calico-node-f8ww5                          1/1     Running   0          138d
calico-node-gfrkb                          1/1     Running   0          138d
coredns-7449ff9459-csbkf                   1/1     Running   0          138d
nacos-7bb9bd6dc-g4665                      1/1     Running   0          135d
sfnacos-94975b78d-zfvhn                    1/1     Running   0          78d

3、指定名称空间,查看pod详情,加 -o wide

[root@k8s-master01 /]# kubectl get pod -n kube-system -o wide
NAME                                       READY   STATUS    RESTARTS   AGE    IP             NODE           NOMINATED NODE   READINESS GATES
calico-kube-controllers-7cc8dd57d9-wrcgh   1/1     Running   0          138d   10.88.0.2      k8s-master01   <none>           <none>
calico-node-9qpvq                          1/1     Running   0          138d   172.16.0.48    k8s-node01     <none>           <none>
calico-node-f8ww5                          1/1     Running   0          138d   172.16.0.150   k8s-master01   <none>           <none>
calico-node-gfrkb                          1/1     Running   0          138d   172.16.0.147   k8s-node02     <none>           <none>
coredns-7449ff9459-csbkf                   1/1     Running   0          138d   172.7.32.129   k8s-master01   <none>           <none>
nacos-7bb9bd6dc-g4665                      1/1     Running   0          135d   172.7.32.135   k8s-master01   <none>           <none>
sfnacos-94975b78d-zfvhn                    1/1     Running   0          78d    172.7.32.181   k8s-master01   <none>           <none>

  • 查看指定名称空间的deployment
[root@k8s-master01 /]# kubectl get deployment -n kube-system
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
calico-kube-controllers   1/1     1            1           138d
coredns                   1/1     1            1           138d
nacos                     1/1     1            1           138d
sfnacos                   1/1     1            1           78d

  • 查看services网络
[root@k8s-master01 /]# kubectl get svc -o wide
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE    SELECTOR
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   139d   <none>

2、 Describe 描述

  • 查看日志
    pod 后面加pod的名称,-n 后面名称空间
[root@k8s-master01 /]# kubectl describe pod calico-kube-controllers -n kube-system
Name:                 calico-kube-controllers-7cc8dd57d9-wrcgh
Namespace:            kube-system
Priority:             2000000000
Priority Class Name:  system-cluster-critical
Node:                 k8s-master01/172.16.0.150
Start Time:           Fri, 24 Feb 2023 10:03:31 +0800
Labels:               k8s-app=calico-kube-controllers
                      pod-template-hash=7cc8dd57d9
Annotations:          <none>
Status:               Running
IP:                   10.88.0.2
IPs:
  IP:           10.88.0.2
  IP:           2001:4860:4860::2
Controlled By:  ReplicaSet/calico-kube-controllers-7cc8dd57d9
Containers:
  calico-kube-controllers:
    Container ID:   containerd://d56f786700e356de6b4bf59af4f15c22949bc4caf1b4420ee31feb9d714556b0
    Image:          docker.io/calico/kube-controllers:v3.19.4
    Image ID:       docker.io/calico/kube-controllers@sha256:b15521e60d8bb04a501fe0ef4bf791fc8c164a175dd49a2328fb3f2b89838a68
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Fri, 24 Feb 2023 10:04:07 +0800
    Ready:          True
    Restart Count:  0
    Liveness:       exec [/usr/bin/check-status -l] delay=10s timeout=1s period=10s #success=1 #failure=6
    Readiness:      exec [/usr/bin/check-status -r] delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      ENABLED_CONTROLLERS:  node
      DATASTORE_TYPE:       kubernetes
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l9tcm (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-l9tcm:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              kubernetes.io/os=linux
Tolerations:                 CriticalAddonsOnly op=Exists
                             node-role.kubernetes.io/master:NoSchedule
                             node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>

3、apply 创建资源

比如安装calico, 安装文件为calico.yaml, 直接apply 就可创建calico的资源

kubectl apply -f calico.yaml 

4、delete删除

  • 删除整个安装,比如calico
kubectl delete -f calico.yaml 
  • 删除deployment
kubectl delete deployment nkafka-deployment-1 -n kafka

nkafka-deployment-1 :deployment 名称
-n kafka : 名称空间

  • 删除pod
kubectl delete pod calico-node-dmwpf -n kube-system 

calico-node-dmwpf : pod 名称
-n kube-system : 名称空间

  • 强制删除pod,状态是Terminating的 pod 无法删除时,使用强制删除
kubectl delete pod kube-system calico-kube-controllers-7cc8dd57d9-4l9kn --force --grace-period=0 -n kube-system 

kube-system: 名称空间
calico-kube-controllers-7cc8dd57d9-4l9kn: pod名称文章来源地址https://www.toymoban.com/news/detail-555152.html

到了这里,关于常用的k8s管理命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生、k8s】管理Kubernetes应用搭建与部署

    官方提供Kubernetes部署3种方式 (一)minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方文档:https://kubernetes.io/docs/setup/minikube/ (二)二进制包 从官方下载发行版的二进制包,手动部署每个组件,

    2024年01月21日
    浏览(71)
  • 【云原生 | Kubernetes 系列】— 部署K8S 1.28版本集群部署(基于Containerd容器运行)

    主机名 IP地址 备注 k8s-master01 192.168.0.109 master k8s-node1 192.168.0.108 node1 k8s-node2 192.168.0.107 node1 k8s-node3 192.168.0.105 node1 1、主机配置 2、升级内核 3、配置内核转发以及过滤 4、安装ipset ipvsadm,IPVS(IP Virtual Server)是一个用于负载均衡的 Linux 内核模块,它可以用来替代 kube-proxy 默认的

    2024年02月20日
    浏览(76)
  • 【云原生 | Kubernetes 系列】K8s 实战 管理 Secret 详解

    Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 用户可以创建 Secret,同时系统也创建了一些 Secret。 一个 Secret 可以包含 Pod 访问数据库所需的用户凭证。 例如,由用户名和密码组成的数据库连接字符串。 你可

    2024年02月02日
    浏览(59)
  • 云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行

    Kubernetes是一个开源的, 用于编排云平台中多个主机上的容器化的应用,目标是让部署容器化的应用能简单并且高效的使用, 提供了应用部署,规划,更新,维护的一种机制 。其核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可

    2024年02月08日
    浏览(81)
  • 五、Kubernetes(K8S):Kubectl常用命令详解

    注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus   Kubectl 是Kubernetes命令行工具,用于管理Kubernetes集群资源和应用程序的部署、升级和扩展等。其作用包括但不限于: 1. 创建、更新和删除应

    2024年02月04日
    浏览(43)
  • (kubernetes)k8s常用资源管理

    目录 k8s常用资源管理 1、创建一个pod 1)创建yuml文件 2)创建容器 3)查看所有pod创建运行状态 4)查看指定pod资源 5)查看pod运行的详细信息 6)验证运行的pod 2、pod管理 1)删除pod 2)查看删除pod无法找到 3)创建pod 4)发现最先创建的pod运行在k8s-master节点上,下载镜像速度太

    2024年02月13日
    浏览(46)
  • yum部署kubernetes(k8s)集群、k8s常用资源管理

    目录 一、环境搭建 1、准备环境 1)计算机说明,建议系统版本7.4或者7.6 2)修改所有主机的计算机名设置host文件  2、安装master节点 1)安装etcd配置etcd 2)安装k8s-master节点 3)配置apiserver 4)配置controller和scheduler 5)启动k8s服务 3、安装k8s-master上的node 1)安装node 2)配置kube

    2024年02月13日
    浏览(59)
  • 四、Kubernetes(k8s) 工作中的常用命令

    顾名思义, Namespace 是命名空间的意思,在 Kubernetes 中,“命名空间(Namespace)” 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一命名空间内的资源名称要唯一,但跨命名空间时没有这个要求。 命名空间作用域仅针对带有命名空间的对象,例如 Deployment、Se

    2024年02月08日
    浏览(65)
  • Kubernetes(K8s)常用命令大全:熟练编排更完美

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(44)
  • 【云原生 | Kubernetes 系列】K8s 实战 如何给应用注入数据 II 将pod数据传递给容器

    在上一篇文章中,我们学习了针对容器设置启动时要执行的命令和参数、定义相互依赖的环境变量、为容器设置环境变量,三种设置方式,本篇文章,我们将继续学习数据的传递。 有两种方式可以将 Pod 和 Container 字段传递给运行中的容器: 环境变量 卷文件 这两种呈现 Pod

    2024年01月25日
    浏览(123)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包