首页 > 其他分享 >5分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!

5分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!

时间:2024-11-05 17:12:13浏览次数:2  
标签:Kubectl Kubernetes 查看 kubectl -- nginx 速查 Pod

对于刚开始学习 Kubernetes 的人来说,理解和掌握 kubectl 命令是入门的第一步。kubectl 是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群中的资源。在这篇文章中,我们将总结一些最常用的 kubectl 命令,通过简明的介绍和示例,让你在 5 分钟内快速上手 Kubernetes,优雅地开始使用 K8s!

1. 配置与基本信息查询

1.1 设置 Kubernetes 上下文

kubectl 依赖配置文件来连接和管理集群。默认配置文件位于 ~/.kube/config

# 查看当前上下文
kubectl config current-context

# 设置新的上下文(例如:切换到生产环境)
kubectl config use-context <context-name>

通过正确的上下文配置,你可以轻松切换到不同的集群环境,如测试集群、生产集群等。

1.2 获取节点信息

在 Kubernetes 中,节点是运行 Pods 的物理或虚拟机。以下命令可以帮助你查看集群中所有节点的状态。

# 查看所有节点的信息
kubectl get nodes

# 查看节点详细信息
kubectl describe node <node-name>

2. 资源查看与管理

2.1 查看 Pods

Pod 是 Kubernetes 中的最小部署单元,通常包含一个或多个容器。

# 查看所有命名空间中的 Pods
kubectl get pods --all-namespaces

# 查看特定命名空间中的 Pods
kubectl get pods -n <namespace>

# 查看 Pod 的详细信息
kubectl describe pod <pod-name>

2.2 部署(Deployment)管理

Deployment 是用于管理 Pod 的 Kubernetes 资源,支持滚动更新和回滚。

# 查看所有部署
kubectl get deployments

# 查看特定命名空间中的部署
kubectl get deployments -n <namespace>

# 部署一个应用(例如 Nginx)
kubectl create deployment nginx --image=nginx

# 更新 Deployment 的镜像版本
kubectl set image deployment/nginx nginx=nginx:1.16.1

# 删除 Deployment
kubectl delete deployment nginx

2.3 服务(Service)管理

Service 是 Kubernetes 中的网络资源,用于暴露一组 Pods,并提供负载均衡。

# 查看所有服务
kubectl get services

# 暴露 Deployment 创建一个 Service(例如 NodePort 类型)
kubectl expose deployment nginx --port=80 --type=NodePort

# 查看特定 Service 的详细信息
kubectl describe service nginx

# 删除 Service
kubectl delete service nginx

3. 日志和调试

3.1 查看 Pod 日志

在开发和调试过程中,查看 Pod 的日志非常重要。可以使用 kubectl logs 命令来获取容器日志。

# 查看单个容器的日志
kubectl logs <pod-name>

# 如果 Pod 中有多个容器,指定容器名查看日志
kubectl logs <pod-name> -c <container-name>

# 实时流式查看日志
kubectl logs -f <pod-name>

3.2 进入 Pod 内部执行命令

在调试时,有时需要进入 Pod 内部执行命令,可以使用 kubectl exec 进入容器。

# 进入 Pod 内部
kubectl exec -it <pod-name> -- /bin/sh

# 运行一个命令,例如查看 Pod 内部的文件
kubectl exec <pod-name> -- cat /etc/hostname

3.3 查看集群事件

Kubernetes 会记录集群中发生的事件,例如 Pod 的创建、调度失败等,这对于故障排查非常有用。

# 查看所有事件
kubectl get events

# 按时间排序事件
kubectl get events --sort-by='.metadata.creationTimestamp'

4. 配置管理

4.1 创建与管理 ConfigMap

ConfigMap 用于存储配置信息,可以将它们加载到容器中作为环境变量或配置文件。

# 从键值对创建 ConfigMap
kubectl create configmap my-config --from-literal=key1=value1 --from-literal=key2=value2

# 查看所有 ConfigMap
kubectl get configmaps

# 查看 ConfigMap 详细信息
kubectl describe configmap my-config

4.2 创建与管理 Secret

Secret 用于存储敏感信息,例如密码、OAuth 令牌等。

# 创建 Secret
kubectl create secret generic my-secret --from-literal=password=my-password

# 查看所有 Secret
kubectl get secrets

# 查看 Secret 详细信息
kubectl describe secret my-secret

5. 资源扩展和更新

5.1 扩展 Deployment

当流量增加时,可以轻松扩展应用的副本数以满足需求。

# 扩展 Deployment 的副本数
kubectl scale deployment nginx --replicas=3

5.2 滚动更新

滚动更新允许你在不中断服务的情况下更新应用。

# 更新 Deployment 的镜像版本
kubectl set image deployment/nginx nginx=nginx:1.17.0

# 查看更新进度
kubectl rollout status deployment/nginx

5.3 回滚更新

如果新的 Deployment 版本出现问题,可以快速回滚。

# 查看更新历史
kubectl rollout history deployment/nginx

# 回滚到上一个版本
kubectl rollout undo deployment/nginx

6. 清理资源

最后,不再使用的资源可以通过以下命令删除,以释放集群资源。

# 删除 Pod
kubectl delete pod <pod-name>

# 删除 Deployment
kubectl delete deployment nginx

# 删除 Service
kubectl delete service nginx

结语

以上就是 Kubernetes 中常用 kubectl 命令的总结。这些命令涵盖了日常的集群管理和应用操作,如查看资源、部署应用、调试和更新等。通过这些命令,你可以快速上手 Kubernetes 的基本操作,优雅地管理 Kubernetes 集群中的应用。希望这篇文章能帮助你快速熟悉 Kubernetes!

标签:Kubectl,Kubernetes,查看,kubectl,--,nginx,速查,Pod
From: https://www.cnblogs.com/kubesphere/p/18528367

相关文章

  • kubernetes删除ns异常状态为:Terminating
    用kubernetes-API删除1、首先,获取要删除NameSpace的 JSON 文件:替换其中的<terminating-namespace>为实际namespacekubectlgetnamespace<terminating-namespace>-ojson>tmp.json[root@master01~]#kubectlgetnamespacekuboard-ojson>tmp.json2、编辑......
  • Kubernetes-K8S的安装
    前言:望大家可以跟着我的走,我将自己踩的坑都会一一说出来,尽量为大家踩出一条没有荆棘的路,有问题大家可以留言和私信我会一一解答,我不是大神就是一个学习小伙汁,那么接下来让我们开始安装步骤建议使用阿里云的服务器首先开通三个2核2G的ECS云服务器(按量付费)安装Kuber......
  • 【K8s】专题十五(1):Kubernetes 网络之概念总览
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口| 精选文章 | Kubernetes |Docker|Linux |羊毛资源 | 工具推荐 |往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决......
  • 使用Velero备份、恢复、迁移Kubernetes集群
    使用Velero备份、恢复、迁移Kubernetes集群VeleroVelero属于VMWare开源的Kubernetes集群备份、恢复、迁移工具.可以提供Kubernetes备份功能更,在Kubernetes集群出现问题之后,能够快速的恢复.并且也提供了集群迁移功能,可以将Kubernetes资源迁移到其他集群.Velero将备份的信息在......
  • Kubernetes的YAML文件怎么写
    在编写Kubernetes的YAML文件时,关键是要理解其作用、结构和语法。KubernetesYAML文件主要用于描述资源的期望状态、包含必要的元数据、以及指定资源的配置信息。其中,遵循正确的缩进风格是编写有效YAML文件的必要条件,因为YAML中的层次结构是通过缩进表示的,一个常见的错误就是层次关......
  • Kubernetes集群证书过期解决方案:使用kubeadm为证书续期
    目录一.系统环境二.前言三.Kubernetes证书过期及续期简介四.使用kubeadm为Kubernetes集群证书续期4.1查看k8s集群证书过期时间4.2为master节点续期证书4.3为worker节点替换最新的证书五.总结一.系统环境本文主要基于Kubernetes1.22.2和Linux操作系统Ubuntu18.04。服务器......
  • 在K8S中,有一家拥有非常分散系统,拥有大量数据中心、虚拟机以及许多从事各种任务的员工
    对于一家拥有非常分散系统的跨国公司来说,使用Kubernetes(K8s)来管理其大量的数据中心、虚拟机以及相关的基础设施可以带来显著的好处。Kubernetes是一个用于自动化部署、扩展和管理容器化应用的开源平台,它可以帮助企业实现资源的一致管理和更高效的运营。以下是如何利用Kubernetes进......
  • 2024 年你应该知道的 13 个 Kubernetes 配置
    随着Kubernetes继续成为容器编排的基石,掌握其配置和功能对于DevOps专业人员来说至关重要。2024年,某些Kubernetes配置因其在云原生环境中增强自动化、安全性和性能的能力而脱颖而出。这篇博文深入探讨了13种基本的Kubernetes配置,对每种配置进行了深入探讨,并提供了......