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



相关推荐
duansamve6 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud8 小时前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
xbzb12 小时前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水13 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源13 小时前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes
知已难寻1 天前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
xbzb1 天前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
kuroomi1 天前
Git入门
git·kubernetes
方便面不加香菜2 天前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
江湖有缘2 天前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器