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



相关推荐
匀泪12 小时前
云原生(docker容器技术)
docker·云原生·容器
数据库小组20 小时前
10 分钟搞定!Docker 一键部署 NineData 社区版
数据库·docker·容器·database·数据库管理工具·ninedata·迁移工具
灰阳阳1 天前
Docker镜像远程(离线)迁移教程
运维·docker·容器
KIHU快狐1 天前
KIHU快狐|台式液晶监视器桌面摆放药店用药安全宣传小屏幕
容器
岁岁种桃花儿1 天前
kubenetes从入门到上天系列第十四篇:Kubernetes的持久化存储
云原生·容器·kubernetes
糟糕喔1 天前
harbor私有仓库搭建
运维·docker·云原生·容器·kubernetes
就叫飞六吧1 天前
K8s 端口暴露:集群统一暴露 vs 单 Pod 暴露
云原生·容器·kubernetes
执笔为剑1 天前
docker环境升级数据库
数据库·docker·容器
于眠牧北1 天前
ubuntu22.04安装docker以及安装过程中报错解决方法
运维·docker·容器
FriendshipT1 天前
算法部署知识点:TensorRT、Tensorflow、Flask、Docker、TFLite
算法·docker·flask·tensorflow