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



相关推荐
fruge2 小时前
飞牛OS部署Flare导航页:Docker Compose、YAML书签配置与cpolar公网访问
运维·docker·容器
Zhou1411363 小时前
Docker_02_Dockerfile与存储网络
网络·docker·容器
bllovepigpig4 小时前
操作系统个人学习笔记(四):K8s基础
笔记·学习·kubernetes
键盘鼓手苏苏5 小时前
ESLint 规则渐进式升级:从 0 警告到全面开启的迁移策略(续篇)
云原生·kubernetes·k8
guo_wen_qiang6 小时前
云服务器elasticsearch环境搭建-单台
运维·elasticsearch·容器
谢亮_vipxieliang8 小时前
一套 Compose 搭起完整开发环境:MySQL + Redis + Nginx
redis·mysql·nginx·docker
江湖有缘8 小时前
Docker实战 | 使用Docker部署Bibliotheca阅读习惯管理工具
java·docker·容器
万联WANFLOW8 小时前
Docker Hub 镜像拉取慢、timeout 的排查方法
运维·docker·云原生·容器·eureka
天衍四九-8 小时前
Docker Compose企业实战系列(一):LNMP环境一键部署(Nginx\+MySQL\+PHP)
mysql·nginx·docker
大貔貅喝啤酒8 小时前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea