kubernetes 初学命令

news/2025/2/27 5:48:40

基础命令

kubectl

1. kubetcl get  

#查看node节点状态
kubectl get nodes

#查看pods节点状态
kubectl get pods

2.kubectl run 

#kubectl run 命令在 pod 中创建并运行特定的镜像

kubectl run nginx --image=nginx --port 80
 

3.kubectl describe

#看到pod 的详情

kubectl describe pod nginx

4. kubectl delete 

 #kubectl delete 删除pod

kubectl delete pod nginx

 5.kubectl create/apply

kubectl create/apply 命令基于给定的配置文件。该配置文件具有以下特点:
1. 配置文件描述了应用程序最终将达到的 Whatstate
2. 配置文件提供创建资源的模板,可以重复部署。
3. 部署可以像代码一样进行管理。
4. 适用于正式的、跨环境的、大规模的部署。
5. 需要熟悉配置文件的语法才能使用此方法。

vim nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

#创建pods

kubectl create -f nginx-deployment.yaml

#删除pods

kubectl delete -f nginx-deployment.yaml

[root@k8s-master ~]# kubectl apply -f nginx-deployment.yaml
deployment.apps/nginx created
[root@k8s-master ~]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-d46f5678b-tljff   1/1     Running   0          20s
[root@k8s-master ~]# kubectl delete -f nginx-deployment.yaml
deployment.apps "nginx" deleted

 create apply 之间的区别。

在 kubectl create 命令中,我们指定了一个特定行为,也就是 create ,因此它

是一种更具命令式的方法。

在 kubectl apply 命令中,我们指定系统的目标状态,而不指定一个特定的行为

6.kubectl get pod nginx -o yaml


 #查看某个pod,以yaml格式展示结果

7.kubectl get cs 

#查看健康状态

kubectl get cs

8.kubectl get namespace

 也可指定查看某个命名空间

9.kubectl get namespace default


10.kubectl get all --namespace=kube-system

#用于在 kube-system 命名空间中获取所有资源的详细信息。

 kubectl create namespace ns1
 kubectl delete  namespace ns1

10.kubectl get pods  -o wide

#查看pod 详情 以及对应的集群IP地址

namespace

#创建一个namespace 

kubectl create namespace namepase-test
#查看namespace   

kubectl get namespace

#查看namespace  ns

kubectl get ns

#删除namespace

kubectl delete namespace namepase-test

pod

#创建pod

kubectl run nginx --image=nginx:1.17.1 --port=80
#访问pod

kubectl get pod -o wide
 url http://10.244.1.14


Label 

 kubectl run nginx --image=nginx:1.17.1 --port=80

#给pod打标签

kubectl label pod nginx version=1.0
#查看pod的标签

kubectl get pods --show-labels

#更新pod的标签

kubectl label pod nginx version=2.0 --overwrite

#筛选pod的标签

kubectl get pod -l version=2.0 --show-labels

#删除pod标签
kubectl label pod nginx version-

version- 表示删除标签 version 

deployment

#创建namespace 

kubectl delete ns dev
#删除namespace

kubectl create ns dev
#创建deployment  名称叫nginx 
 kubectl create deployment nginx --image=nginx:1.17.1  -n dev
#查看deploymet -n指的是在dev 的名称空间下看
 kubectl get deployment -n dev
#删除deployment
 kubectl delete deploy nginx -n dev
#查看dev 下的deployment和pod,pod随着deployment 删除
 kubectl get deployment,pod -n dev

  • deployment nginx:指定要调整的资源类型(deployment)和资源名称(nginx)。

  • --replicas=4:指定目标副本数,这里是 4

  • 修改其deployment的副本数实现删除

 kubectl scale deployment nginx --replicas=4

 kubectl scale --replicas=0 deployment nginx
 

 server

 kubectl scale deployment nginx --replicas=3

kubectl get pod -o wide
 kubectl delete pod nginx-59975f44cf-8vsg4

 kubectl get pod -o wide
 

 demo1  集群内部访问type=ClusterIP

#暴露端口 type=ClusterIP   这个IP只能集群内部访问 如果需要外部 type=NodePort

 kubectl expose deployment nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80
#获取service 信息
kubectl get service
#获取service信息 svc 简写
kubectl get svc
#访问集群IP 
curl 10.107.19.254

 demo集群外部访问type=NodePort 

#集群外部访问

 kubectl expose deployment nginx --name=svc-nginx2 --type=NodePort --port=80 --target-port=80

#查看service  注意post 中的32432对应的就是master的端口

kubectl get service
#删除service

kubectl delete  service svc-nginx1




http://www.niftyadmin.cn/n/5869560.html

相关文章

0.MySQL安装|卸载内置环境|配置官方yum源|安装mysql|登录mysql|设置配置文件(centos8.2)

卸载内置环境 检查是否有mariadb和mysql服务 ps ajx |grep mariadb ps ajx |grep mysql停止mysql服务 systemctl stop mysqld找到mysql安装包 rpm -qa | grep mysql删除安装包 rpm -qa | grep mysql | xargs yum -y remove检查 ls /etc/my.cnfls /var/lib/mysql/配置官方…

Docker镜像面试题及参考答案

目录 Docker 镜像与容器的关系是什么?如何理解 “镜像为静态定义,容器为运行时实体”? 解释 Docker 镜像的联合文件系统(UnionFS)分层机制,为何这种设计能优化存储效率? Docker 镜像的 LABEL 标签有什么作用?如何通过标签管理多版本镜像? 镜像的 latest 标签有哪些…

ave-form.vue 组件中 如何将产品名称发送给后端 ?

如何将产品名称发送给后端。 在这段代码中&#xff0c;产品名称&#xff08;productName&#xff09;的处理和发送主要发生在 save() 方法中。让我逐步分析&#xff1a; 产品ID的选择&#xff1a; <w-form-selectv-model"form.productId"label"涉及产品&q…

穿越AI边界:深度集成DeepSeek API与云平台的实践之路

云边有个稻草人-CSDN博客 随着人工智能技术的日益发展&#xff0c;深度学习和自然语言处理&#xff08;NLP&#xff09;已经在很多领域得到了广泛的应用。DeepSeek作为一款领先的大型语言生成模型&#xff0c;凭借其强大的推理和生成能力&#xff0c;已经被越来越多的开发者和…

网络运维学习笔记(DeepSeek优化版)005网工初级(HCIA-Datacom与CCNA-EI)链路层发现协议与VLAN技术

文章目录 一、链路层发现协议1.1 思科CDP协议1.2 华为LLDP协议 二、VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;技术详解2.1 基本概念2.2 技术特性2.3 接口工作原理2.3.1 Access模式2.3.2 Trunk模式 2.4 厂商配置对比思科配置华为配置 2.5 …

uniapp 小程序如何实现大模型流式交互?前端SSE技术完整实现解析

文章目录 一、背景概述二、核心流程图解三、代码模块详解1. UTF-8解码器&#xff08;处理二进制流&#xff09;2. 请求控制器&#xff08;核心通信模块&#xff09;3. 流式请求处理器&#xff08;分块接收&#xff09;4. 数据解析器&#xff08;处理SSE格式&#xff09;5. 回调…

【Java】Spring Cloud Alibaba全量YAML配置说明

目录 Spring Cloud Alibaba 基础配置Nacos 配置Sentinel 配置Seata 配置RocketMQ 配置Dubbo 配置Alibaba Cloud OSS 配置完整配置示例1. Spring Cloud Alibaba 基础配置 Spring Cloud Alibaba 的所有模块基于 Spring Boot 和 Spring Cloud,可以按照以下常用结构定义基本配置。…

学习threejs,Materials常量汇总

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️Materials常量汇总1.1.1 面…