k8s常用命令(持续更新中)

我们在使用k8s的过程中,经常需要使用到k8s的一些常用命令,自己列举了一些常用的,大家可以用用:

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 get pod 
// 过滤
kubectl --kubeconfig=xxx   -n命名空间 get pod |grep pod名称

如果pod设置了app lable,那么我们可以通过app label过滤

kubectl --kubeconfig=xxx -n命名空间 get pod -l app=label名称

获取到一个pod的id之后,我们就可以进行一些操作,比如进入到pod中:

kubectl --kubeconfig=xxx -n命名空间 exec -it podId bash

可以在控制台查看pod的日志

kubectl --kubeconfig=xxx -n命名空间 logs -f --tail=100 podId

另外如果pod设置了app lable,那么我们可以通过app参数查看某个deploy的所有pod日志:

kubectl --kubeconfig=xxx -n命名空间 logs -l app=label名称 -f --tail=100

查看pod详情:

kubectl --kubeconfig=xxx -n命名空间  get pod podId -o wide

删除pod(可以用来重启)

kubectl --kubeconfig=xxx -n命名空间  delete pod podId

获取deploy

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 get deploy 
// 过滤
kubectl --kubeconfig=xxx   -n命名空间 get deploy |grep pod名称

编辑deploy

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 edit deploy deployId

查看deploy

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 describe deploy deployId

调整deploy数量(pod扩容)

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 sacle deploy deployId --replicas=需要的pod个数

获取configMap

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 get configmap

获取configMap

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 get configmap

查看configmap

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 describe coinfigmap configmapId

编辑deploy

// 获取pod,kubeconfig参数可以忽略
kubectl --kubeconfig=xxx -n命名空间 edit coinfigmap configmapId

将pod的文件复制到宿主机上

kubectl --kubeconfig=xxx -n命名空间  cp podId::/logs/ing/sys.log sys.log
Kubernetes(简称 K8s)是一个用于自动化部署、扩展和管理容器化应用的开源系统。掌握其基础命令是学习和使用 Kubernetes 的关键。以下是一些常用的 Kubernetes 基础命令,以及推荐的学习资源和指南。 ### 基础命令列表 #### 1. 获取资源信息 - **查看节点信息** ```bash kubectl get nodes ``` - **查看默认命名空间下的所有资源** ```bash kubectl get all ``` - **查看指定命名空间下的资源** ```bash kubectl get all -n <namespace> ``` - **查看 Pod 信息** ```bash kubectl get pods ``` - **查看 Service 信息** ```bash kubectl get services ``` #### 2. 创建和管理资源 - **创建 Deployment** ```bash kubectl create deployment <deployment-name> --image=<image-name>:<tag> ``` - **暴露 Deployment 为 Service** ```bash kubectl expose deployment <deployment-name> --port=<port> --type=<service-type> ``` - **应用 YAML 文件部署资源** ```bash kubectl apply -f <yaml-file-path> ``` - **查看资源清单 YAML(不实际创建资源)** ```bash kubectl create deployment <deployment-name> --image=<image-name>:<tag> --dry-run -o yaml ``` #### 3. 调试和日志 - **查看 Pod 日志** ```bash kubectl logs <pod-name> ``` - **进入 Pod 的容器** ```bash kubectl exec -it <pod-name> -- sh ``` - **描述资源详细信息** ```bash kubectl describe pod <pod-name> ``` #### 4. 删除资源 - **删除 Deployment** ```bash kubectl delete deployment.apps/<deployment-name> ``` - **删除 Service** ```bash kubectl delete service/<service-name> ``` #### 5. 监控和状态 - **持续监控 Pod 状态** ```bash kubectl get pod -w ``` - **查看 Pod 和 Service 的详细信息** ```bash kubectl get pod,svc -o wide ``` ### 学习资源推荐 1. **官方文档** Kubernetes 官方文档是学习 Kubernetes 最权威的资源之一,涵盖了从基础到高级的所有内容。 官方文档地址:https://kubernetes.io/docs/ 2. **Kubernetes Cheatsheet** Kubernetes 提供了一份命令速查表,非常适合快速查找和记忆常用命令。 Cheatsheet 地址:https://kubernetes.io/docs/reference/kubectl/cheatsheet/ 3. **书籍推荐** - 《Kubernetes 权威指南》 该书详细介绍了 Kubernetes 的架构、核心组件和使用方法,适合初学者和有一定基础的用户。 - 《Kubernetes in Action》 这本书通过实际案例讲解了如何使用 Kubernetes 部署和管理容器化应用。 - 《Kubernetes Up & Running》 适合快速上手 Kubernetes,书中涵盖了从安装到部署的完整流程。 4. **在线教程和博客** - Kubernetes 主题系列文章 一些技术博客和社区提供了详细的 Kubernetes 教程,例如“Kubernetes 主题系列 - KubernetesK8s常用命令总结”[^1]。 - Kubernetes 基础知识文章 比如“Kubernetes基础”一文详细介绍了 Kubernetes 的基本组成和工作原理[^5]。 5. **实践项目** - 通过实际操作部署一个简单的应用,例如部署一个 Hello World 网站,可以帮助更好地理解 Kubernetes 的工作流程。 ### 示例:部署一个简单的应用 以下是一个简单的 YAML 文件示例,用于部署一个名为 `my-tomcat` 的应用: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-tomcat spec: replicas: 1 selector: matchLabels: app: my-tomcat template: metadata: labels: app: my-tomcat spec: containers: - name: my-tomcat image: tomcat:7.0.75-alpine ports: - containerPort: 8080 ``` 使用以下命令应用该 YAML 文件: ```bash kubectl apply -f deployment-demo.yaml ``` 然后,创建一个 Service 来暴露该应用: ```yaml apiVersion: v1 kind: Service metadata: name: tomcat spec: type: NodePort ports: - port: 8080 nodePort: 30000 selector: app: my-tomcat ``` 应用该 Service: ```bash kubectl apply -f service-demo.yaml ``` 通过这些命令和资源,可以快速上手 Kubernetes 的基础操作和应用部署。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值