顾乔芝士网

持续更新的前后端开发技术栈

云原生工程师日常使用最多的工具和100条高频命令

在云原生时代,工程师不仅要熟悉容器化、编排和服务网格,还要掌握大量工具和命令来进行日常运维与开发。本文将从 工具篇 和 命令篇 两个角度,详细介绍云原生工程师每天都会用到的核心技能。





一、云原生工程师常用工具


1. 容器与编排工具



  • Docker:镜像构建与容器运行。
  • Kubernetes (kubectl):集群管理与资源调度。
  • Helm:Kubernetes 包管理器。




2. CI/CD 工具



  • Jenkins:自动化构建与发布。
  • ArgoCD:声明式 GitOps 部署。
  • Tekton:Kubernetes 原生 CI/CD。




3. 云原生监控工具



  • Prometheus:监控与指标采集。
  • Grafana:可视化面板。
  • Loki:日志收集与分析。




4. 服务网格与 API 网关



  • Istio:流量治理与金丝雀发布。
  • Kong / Nginx Ingress:网关与 API 管理。




5. 云平台工具



  • kubectl:核心 CLI 工具。
  • eksctl / gcloud / az:云厂商命令行工具。






二、100 条日常高频命令




1. Docker 常用命令(15 条)


# 查看本地镜像

docker images

# 启动容器

docker run -d --name web -p 8080:80 nginx

# 查看容器列表

docker ps -a

# 进入容器

docker exec -it web /bin/bash

# 停止容器

docker stop web

# 删除容器

docker rm -f web

# 删除镜像

docker rmi nginx:latest

# 构建镜像

docker build -t myapp:v1 .

# 查看日志

docker logs -f web

# 镜像打标签

docker tag myapp:v1 registry.cn/myapp:v1

# 推送镜像

docker push registry.cn/myapp:v1

# 拉取镜像

docker pull nginx:latest

# 容器复制文件

docker cp web:/etc/nginx/nginx.conf ./nginx.conf

# 容器资源使用情况

docker stats

# 清理无用镜像和容器

docker system prune -f





2. Kubernetes (kubectl) 命令(25 条)


# 查看所有命名空间

kubectl get ns

# 查看 Pod

kubectl get pods -n default

# 查看 Pod 详情

kubectl describe pod mypod -n default

# 日志查看

kubectl logs -f mypod -n default

# 进入 Pod 容器

kubectl exec -it mypod -n default -- /bin/bash

# 创建资源

kubectl apply -f deployment.yaml

# 删除资源

kubectl delete -f deployment.yaml

# 查看 Deployment

kubectl get deploy -n default

# 滚动更新

kubectl rollout restart deploy myapp -n default

# 回滚版本

kubectl rollout undo deploy myapp -n default

# 查看服务

kubectl get svc -n default

# 查看 Ingress

kubectl get ingress -n default

# 查看 ConfigMap

kubectl get configmap -n default

# 查看 Secret

kubectl get secret -n default

# 编辑 Deployment

kubectl edit deploy myapp -n default

# 强制删除 Pod

kubectl delete pod mypod -n default --force --grace-period=0

# 查看节点

kubectl get nodes

# 节点详细信息

kubectl describe node nodename

# 查看事件

kubectl get events -n default --sort-by=.metadata.creationTimestamp

# 导出资源配置

kubectl get deploy myapp -o yaml > myapp.yaml

# 指定 context

kubectl config use-context dev-cluster

# 查看当前 context

kubectl config current-context

# 查看资源占用

kubectl top pod -n default

# 查看节点占用

kubectl top node





3. Helm 命令(10 条)


# 添加仓库

helm repo add bitnami https://charts.bitnami.com/bitnami

# 更新仓库

helm repo update

# 搜索 Chart

helm search repo nginx

# 安装 Chart

helm install mynginx bitnami/nginx

# 升级 Chart

helm upgrade mynginx bitnami/nginx

# 回滚 Chart

helm rollback mynginx 1

# 删除发布

helm uninstall mynginx

# 查看 release

helm list -A

# 查看渲染后的 YAML

helm template mynginx bitnami/nginx

# 导出 values.yaml

helm show values bitnami/nginx > values.yaml





4. CI/CD (Jenkins & ArgoCD)(10 条)


# Jenkins CLI 登录

java -jar jenkins-cli.jar -s http://jenkins:8080/ -auth admin:password list-jobs

# 构建任务

java -jar jenkins-cli.jar -s http://jenkins:8080/ build myjob

# 查看任务日志

java -jar jenkins-cli.jar -s http://jenkins:8080/ console myjob

# ArgoCD 登录

argocd login argocd.example.com

# 添加 Git 仓库

argocd repo add https://github.com/myrepo.git

# 部署应用

argocd app create myapp --repo https://github.com/myrepo.git --path manifests --dest-server https://kubernetes.default.svc --dest-namespace default

# 同步应用

argocd app sync myapp

# 查看应用状态

argocd app get myapp

# 回滚应用

argocd app rollback myapp 1

# 删除应用

argocd app delete myapp





5. 监控与日志(Prometheus/Grafana/Loki)(10 条)


# 查询 Prometheus 指标

curl http://prometheus:9090/api/v1/query?query=up

# Loki 查询日志

logcli query '{app="nginx"}' --since=1h

# Grafana 导出 Dashboard

grafana-cli admin export-dashboard 1

# 导入 Dashboard

grafana-cli admin import-dashboard dashboard.json

# Prometheus 查看 targets

curl http://prometheus:9090/api/v1/targets

# 检查 alertmanager 状态

curl http://alertmanager:9093/api/v2/status

# 查询告警规则

curl http://prometheus:9090/api/v1/rules

# Loki 日志范围查询

logcli query '{namespace="default"}' --from=24h --to=now

# Grafana 插件安装

grafana-cli plugins install grafana-piechart-panel

# 重启 Grafana

systemctl restart grafana-server





6. Istio 服务网格(10 条)


# 查看网关

kubectl get gateway -n istio-system

# 查看虚拟服务

kubectl get virtualservice -A

# 查看目标规则

kubectl get destinationrule -A

# 查看 Sidecar 注入

kubectl get pod mypod -n default -o jsonpath='{.metadata.annotations.istio\.io/inject}'

# 手动注入 Sidecar

istioctl kube-inject -f deploy.yaml | kubectl apply -f -

# 检查网格配置

istioctl proxy-status

# 查看路由配置

istioctl proxy-config routes mypod -n default

# 查看集群配置

istioctl proxy-config clusters mypod -n default

# 查看监听器

istioctl proxy-config listeners mypod -n default

# 删除 VirtualService

kubectl delete virtualservice myvs -n default





7. 云平台命令(AWS/GCP/Azure 各 5 条)


# AWS EKS 获取集群

eksctl get cluster

# GCP 切换项目

gcloud config set project myproject

# GCP 获取 K8s 集群

gcloud container clusters list

# Azure 登录

az login

# Azure 获取 AKS 集群

az aks list





三、总结



  1. 工具层面:云原生工程师每天都会接触 Docker、K8s、Helm、CI/CD、监控、服务网格等工具。
  2. 命令层面:熟练掌握 100 条高频命令,能极大提升排障与开发效率。
  3. 实践层面:建议结合 DevOps 自动化 + GitOps 流程,形成一套完整的云原生工程师工作体系。
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言