kubectl:k8s集群管理命令和Node节点

kubectl:k8s集群管理命令

kubectl主要职责是对资源对象进行操作。

k8s当中一切皆为资源;

资源对象表

资源 缩写 说明
cluster 集群
componentstatu ses cs 组件对象状态
configmaps cm ConfigMap是k8s配置管理工具
daemonsets ds DaemonSet管理node节点运行Pod
deployments deploy K8S控制器
endpoints ep Endpoints是实现服务的端点集合
events ev 记录集群运行时的各种事件
ingress ing API对象,边缘路由功能
nodes no 节点
namespaces ns 命名空间
pods po 获取Pod信息
replicasets rs 用户指定数量的Pod副本
cronjob 周期性任务控制,不需要持续在后台运行
services svc 各种服务
ini 复制代码
# 查看API资源
kubectl api-resources

# 查看API版本
kubectl api-versions


  • 查看资源
ini 复制代码
kubectl get 资源 -o 格式
* wide 显示详细信息
* json 以json格式显示详细信息
* yaml 以yaml格式显示详细信息

-w 等待显示资源状态的修改
  • 创建资源
ini 复制代码
vim 01-nginx-pod.yml

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: web
spec:
  hostNetwork: true
  containers:
  - name: nginx
    image: docker.io/library/nginx:latest
    ports:
    - containerPort: 80
ini 复制代码
#创建资源
kubectl create -f 01-nginx-pod.yml
  • 删除资源
ini 复制代码
kubectl delete -f 01-nginx-pod.yml
kubectl delete pod nginx -n default

kubecyl delete 资源类型  名称 -n 命名空间
  • 更新资源
ini 复制代码
#当资源不存在时创建资源,也可以更新资源
kubectl apply -f 01-nginx-pod.yml
  • 查询资源的详细信息,运行状态,常用于排错
ini 复制代码
kubectl describle pod nginx
  • 查看运行日志,用于排错
ini 复制代码
kubectl logs nginx
  • 在线更新运行中配置,yaml格式
ini 复制代码
kubectl edit pod nginx
  • 进入容器
ini 复制代码
kubectl exec -it pod -- bash
  • 直接创建pod启动容器
ini 复制代码
kubectl run --image=docker.io/library/tomcat:latest tomcat-app --port=8080

kubectl delete pod tomcat-app
  • 双向复制
ini 复制代码
kubectl cp 01-nginx-pod.yml nginx:/opt
kubectl cp nginx:/opt/ ./


Node节点操作

  • 添加:

    • 准备工作:

      • 1.docker
      • 2.系统优化
    • 让master生成join+token命令

      ini 复制代码
      kubeadm token create --print-join-command
    • Node节点执行kubeadm join命令

      ini 复制代码
      #systemctl start kubelet
      kubeadm join 192.168.8.131:6443 --token 46s6gy.t1fl09u3fzfpqbaq --discovery-token-ca-cert-hash sha256:6eb4f59d8fec9502cb5bdcca68514641dd28877ed125e037e82c3029ad03efea 
  • 删除:

    • Master中设置Node为不可调用
    ini 复制代码
    kubectl cordon node2
    • 在Master节点中强制驱逐Node中Pod
    ini 复制代码
    kubectl drain node2 --ignore-daemonsets --delete-emptydir-data
    • 从Master节点中删除节点记录
    ini 复制代码
    kubectl delete node node2
    • 清理被移除的节点
    ini 复制代码
    #关闭kubelet
    systemctl stop kubelet
    #重置所有k8s配置
    kubeadm reset
    #清理残余数据:删除 etcd 数据目录和 Kubernetes 配置文件:
    rm -rf /etc/cni/net.d /var/lib/kubelet /var/lib/etcd



相关推荐
期待のcode3 小时前
docker将镜像推送到阿里云镜像仓库与私有镜像仓库
阿里云·docker·容器
忙碌5444 小时前
Spring Boot应用Docker化部署全攻略:从入门到生产环境实践
spring boot·后端·docker
切糕师学AI4 小时前
Kubernetes 完全指南:从集群架构到应用模型
容器·架构·kubernetes
糟糕喔5 小时前
k8s运维-pod篇(1)
云原生·容器·kubernetes
期待のcode6 小时前
Kubernetes与Minikube
运维·容器·kubernetes
悠闲蜗牛�6 小时前
Kubernetes从零到集群:本地Minikube环境搭建与Spring Cloud微服务运维实战
spring cloud·微服务·kubernetes
Zhu_S W6 小时前
Docker 完全指南:Java 开发者的容器化实践
java·docker·容器
AC赳赳老秦6 小时前
2026云原生AI规模化趋势预测:DeepSeek在K8s集群中的部署与运维实战
运维·人工智能·云原生·架构·kubernetes·prometheus·deepseek
青衫码上行19 小时前
【项目部署】Spring Boot项目部署的四种方式
java·linux·服务器·spring boot·后端·docker·腾讯云