Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。掌握K8s的基本指令对于入门和使用K8s来说至关重要。以下是对K8s入门必知的基本指令的详细解析。

1. kubectl

kubectl 是Kubernetes的命令行工具,用于与集群进行交互。以下是几个常用的kubectl指令:

1.1 kubectl get

  • kubectl get nodes:列出集群中所有的节点。
  • kubectl get pods --all-namespaces:列出所有命名空间下的Pods。
  • kubectl get services:列出所有的Service。

1.2 kubectl describe

  • kubectl describe pod <pod-name>:查看Pod的详细信息。
  • kubectl describe node <node-name>:查看节点的详细信息。

1.3 kubectl create

  • kubectl create deployment <deployment-name>:创建一个新的Deployment。
  • kubectl create service <service-name>:创建一个新的Service。

1.4 kubectl delete

  • kubectl delete pod <pod-name>:删除指定的Pod。
  • kubectl delete deployment <deployment-name>:删除指定的Deployment。

2. Pod管理指令

Pod是Kubernetes中最基本的部署单元,它封装了一个或多个容器。

2.1 查看Pod状态

  • kubectl get pods:列出所有Pods及其状态。
  • kubectl get pods -n <namespace>:列出指定命名空间下的Pods。

2.2 查看Pod日志

  • kubectl logs <pod-name>:查看Pod的日志。
  • kubectl logs <pod-name> -c <container-name>:查看指定容器的日志。

2.3 进入Pod

  • kubectl exec <pod-name> -c <container-name> -- <command>:进入Pod中的容器执行命令。

3. Deployment管理指令

Deployment用于管理和更新Pods和ReplicaSets。

3.1 创建Deployment

  • kubectl create deployment <deployment-name> --image=<image-name>:创建一个新的Deployment。

3.2 查看Deployment状态

  • kubectl get deployment <deployment-name>

3.3 更新Deployment

  • kubectl set image deployment/<deployment-name> <container-name>=<image-name>:更新Deployment中容器的镜像。

4. Service管理指令

Service为Pod提供网络访问,实现负载均衡。

4.1 创建Service

  • kubectl create service <service-name>

4.2 查看Service状态

  • kubectl get service <service-name>

5. 命名空间管理指令

命名空间用于隔离集群资源。

5.1 创建命名空间

  • kubectl create namespace <namespace-name>

5.2 查看命名空间

  • kubectl get namespace

以上是Kubernetes入门必知的基本指令解析,通过熟练掌握这些指令,可以帮助您更好地管理和部署容器化应用程序。随着您对Kubernetes的深入了解,还可以学习更多高级指令和概念。