目录
这里我将使用前文安装minikube来进行讲解。
感兴趣可移步至原文:
从零开始的K8S学习笔记(二)K8S本地开发环境——minikube安装部署及实践 - 知乎 (zhihu.com)
什么是kubectl?

kubectl是Kubernetes命令行工具,可以通过命令行界面或脚本与Kubernetes集群进行通信,并执行各种操作,包括:
- 部署和管理应用程序:kubectl可以使用YAML或JSON文件定义和创建Kubernetes资源对象,例如部署、服务、Pod、副本集、配置映射等。可以使用kubectl创建、更新、删除和查看这些资源,以及监控其状态和日志。
- 扩展和管理集群:kubectl可以通过命令行管理Kubernetes集群的各个组件,例如节点、命名空间、存储卷、服务账户等。可以使用kubectl扩展集群的规模、添加或删除节点,以及执行与集群管理相关的操作。
- 调试和故障排除:kubectl提供了各种命令和选项,用于诊断和调试Kubernetes集群中的问题。可以查看Pod的日志、执行进入容器的命令、获取集群事件等。
- 资源监控和调整:kubectl可以用于查看Kubernetes集群和资源的状态、监控资源使用情况、扩展或缩减资源的副本数量等。
kubectl提供了强大的功能和灵活性,能够有效地管理和操作Kubernetes集群。
安装kubectl
安装工具kubernetes.io/zh-cn/docs/tasks/tools/编辑
我这里使用snap进行安装
snap install kubectl --classic
验证是否安装成功
获取版本信息
kubectl version --output=yaml

验证 kubectl 配置
为了让 kubectl 找到并访问 Kubernetes 集群,它需要一个 kubeconfig 文件,
该文件是在使用kube-up.sh创建集群 或成功部署 Minikube 集群时自动创建的。
默认情况下,kubectl 配置位于~/.kube/config.
通过获取集群状态来检查 kubectl 是否已正确配置:
kubectl cluster-info

创建和删除资源
创建部署
kubectl create deployment hello-minikube1 --image=kicbase/echo-server:1.0 kubectl expose
创建一个名为 hello-minikube1 的部署(Deployment),通过 --image ,指定要在创建的Pod中使用的容器镜像kicbase/echo-server:1.0。
暴露服务
deployment hello-minikube1 --type=LoadBalancer --port=8080
将先前创建的 hello-minikube1 Deployment 暴露为一个Kubernetes服务。
服务(Service)是Kubernetes中用于公开应用程序或Pod的访问入口的对象。通过暴露服务,其他应用程序或用户可以通过该服务访问Deployment中运行的Pod副本。
在这个命令中,使用了 --type=LoadBalancer 标志来指定服务的类型为LoadBalancer。这意味着Kubernetes将为服务分配一个外部负载均衡器,并将流量路由到该负载均衡器上。--port=8080 标志指定了服务的端口号为8080。

通过查询NodePort和Services,可以在浏览器中输入 http://<node-ip>:<port> 来访问该服务:


如图所示,服务已成功启动。
获取资源列表
查看服务列表
kubectl get services

查看部署列表
kubectl get deployments

获取Pod列表
kubectl get pods
获取Namespace列表
kubectl get namespaces
获取所有资源列表
kubectl get all
查看资源详细信息
查看Pod详细信息
kubectl describe pod <pod-name>

查看Deployment详细信息
kubectl describe deployment <deployment-name>
查看Service详细信息
kubectl describe service <service-name>
查看Namespace详细信息
kubectl describe namespace <namespace-name>
删除资源
删除服务
kubectl delete service <service-name>
删除部署
kubectl delete deployment <deployment-name>
扩展和缩减Pod副本
扩展Deployment副本数
kubectl scale deployment <deployment-name> --replicas=<replica-count>
缩减Deployment副本数
kubectl scale deployment <deployment-name> --replicas=<replica-count>
运行命令和执行操作
在Pod中运行命令
kubectl exec -it <pod-name> -- <command>
在Pod中创建临时终端
kubectl exec -it <pod-name> -- /bin/bash
执行Pod端口转发
kubectl port-forward <pod-name> <local-port>:<pod-port>
应用和更新配置
应用配置文件
kubectl apply -f <file-name>
更新资源
kubectl apply -f <file-name>
查看配置文件内容
kubectl get -f <file-name> -o yaml
文章篇幅有限,常用的kubectl命令就先介绍到这里。
参考自Kubernetes官网,minikube官网。
如果能对你有所启发的话,希望能不吝点赞关注。
kubectl是Kubernetes的命令行工具,用于部署和管理应用、扩展集群、调试故障。文章介绍了kubectl的安装、验证、资源创建与删除、服务暴露、资源列表查看、资源详情及删除、Pod副本扩展和缩减等操作。示例中使用了minikube作为本地开发环境。
1122

被折叠的 条评论
为什么被折叠?



