K8s常用的命令

一、基础命令

  1. 查看集群信息

    bash

    kubectl cluster-info  # 显示集群端点和服务信息
    

  2. 查看节点

    bash

    kubectl get nodes  # 列出所有节点
    kubectl describe node <node-name>  # 查看节点详细信息
    
  3. 查看命名空间

    bash

    kubectl get namespaces  # 列出所有命名空间
    
  4. 切换命名空间

    bash

    kubectl config set-context --current --namespace=<namespace-name>
    

二、资源操作(Pod、Deployment、Service 等)

  1. 查看资源

    bash

    kubectl get pods  # 列出所有Pod
    kubectl get deployments  # 列出所有Deployment
    kubectl get services  # 列出所有Service
    kubectl get all  # 列出所有类型的资源
    
    # 常用选项:
    -o wide  # 显示更多信息
    -n <namespace>  # 指定命名空间
    --watch  # 实时监控资源变化
    
  2. 创建资源

    bash

    kubectl apply -f <filename.yaml>  # 从YAML文件创建资源
    
  3. 删除资源

    bash

    kubectl delete -f <filename.yaml>  # 删除YAML定义的资源
    kubectl delete pod <pod-name>  # 删除指定Pod
    
  4. 查看资源详情

    bash

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

三、Pod 相关操作

  1. 查看 Pod 日志

    bash

    kubectl logs <pod-name>  # 查看Pod日志
    kubectl logs -f <pod-name>  # 实时跟踪日志
    
  2. 进入 Pod 容器

    bash

    kubectl exec -it <pod-name> -- /bin/bash  # 进入Pod的第一个容器
    kubectl exec -it <pod-name> -c <container-name> -- /bin/bash  # 进入指定容器
    
  3. 端口转发

    bash

    kubectl port-forward <pod-name> 8080:80  # 将Pod的80端口映射到本地8080
    

四、部署与伸缩

  1. 创建 Deployment

    bash

    kubectl create deployment <deployment-name> --image=<image-name>  # 创建Deployment
    
  2. 扩缩容

    bash

    kubectl scale deployment <deployment-name> --replicas=3  # 设置3个副本
    
  3. 滚动更新

    bash

    kubectl set image deployment/<deployment-name> <container-name>=<new-image>  # 更新镜像
    
  4. 回滚更新

    bash

    kubectl rollout undo deployment/<deployment-name>  # 回滚到上一个版本
    

五、Service 与 Ingress

  1. 创建 Service

    bash

    kubectl expose deployment <deployment-name> --port=80 --type=NodePort  # 创建NodePort类型的Service
    
  2. 查看 Service

    bash

    kubectl get services  # 列出所有Service
    
  3. 创建 Ingress

    bash

    kubectl apply -f ingress.yaml  # 从YAML创建Ingress规则
    

六、配置与存储

  1. 创建 ConfigMap

    bash

    kubectl create configmap <config-name> --from-file=app.properties  # 从文件创建ConfigMap
    
  2. 创建 Secret

    bash

    kubectl create secret generic <secret-name> --from-literal=username=admin --from-literal=password=pass  # 创建Secret
    

七、调试与故障排查

  1. 查看事件

    bash

    kubectl get events  # 查看集群事件(用于排查问题)
    
  2. 查看节点状态

    bash

    kubectl top nodes  # 查看节点资源使用情况
    
  3. 查看 Pod 资源使用

    bash

    kubectl top pods  # 查看Pod资源使用情况
    

八、认证与配置

  1. 获取集群配置

    bash

    kubectl config view  # 查看kubeconfig配置
    
  2. 切换上下文

    bash

    kubectl config use-context <context-name>  # 切换到指定集群上下文
    

九、常用 YAML 模板

1. Pod 示例(nginx-pod.yaml)

yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80
2. Deployment 示例(nginx-deployment.yaml)

yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
3. Service 示例(nginx-service.yaml)

yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30000

十、命令缩写与补全

  • 资源类型缩写
    po = pods
    svc = services
    deploy = deployments
    ns = namespaces

  • 命令补全

    bash

    source <(kubectl completion bash)  # 启用Bash自动补全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值