kubectl基础命令详解
管理名称空间资源
查看名称空间
[root@ceshi-130 conf]# kubectl get ns
[root@ceshi-130 conf]# kubectl get namespace
NAME STATUS AGE
default Active 7d17h
kube-node-lease Active 7d17h
kube-public Active 7d17h
kube-system Active 7d17h
查询default空间所有资源
[root@ceshi-130 conf]# kubectl get all -n default
[root@ceshi-130 conf]# kubectl get all #默认default
pod资源
NAME READY STATUS RESTARTS AGE
pod/nginx-ds-c7bnr 1/1 Running 1 18h
pod/nginx-ds-lkznc 1/1 Running 1 18hservice资源
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 7d17hdaemonset控制器资源
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/nginx-ds 2 2 2 2 2 <none> 18h
创建名称空间
[root@ceshi-130 conf]# kubectl create ns ceshi
namespace/ceshi created
[root@ceshi-130 conf]# kubectl get ns
NAME STATUS AGE
ceshi Active 44s
删除名称空间
[root@ceshi-130 conf]# kubectl delete ns ceshi
namespace "ceshi" deleted
管理Deployment资源
创建deployment
[root@ceshi-130 conf]# kubectl create deployment nginx-test --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public
[root@ceshi-130 conf]# kubectl get deployment -n kube-public
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-test 1/1 1 1 17s
[root@ceshi-130 conf]# kubectl get pods -n kube-public
NAME READY STATUS RESTARTS AGE
nginx-test-88bc69dd6-cgh8k 1/1 Running 0 41s
查看
[root@ceshi-130 conf]# kubectl get deployment -n kube-public
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-test 1/1 1 1 9m13s
[root@ceshi-130 conf]# kubectl get deployment -n kube-public -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
nginx-test 1/1 1 1 10m nginx harbor.od.com/public/nginx:v1.7.9 app=nginx-test
详细查看
[root@ceshi-130 conf]# kubectl describe deployment nginx-test -n kube-public
Name: nginx-test #名称
Namespace: kube-public #名称空间
CreationTimestamp: Tue, 03 Aug 2021 10:34:12 +0800 #创建时间
Labels: app=nginx-test #标签
Annotations: deployment.kubernetes.io/revision: 1 #注解
Selector: app=nginx-test #标签选择器
Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
状态副本集 预期一个 最新状态 总共一个 1个存在 0个不存在
StrategyType: RollingUpdate #更新策略,默认滚动发布(蓝绿发布,灰度发布,滚动发布,金丝雀发布)
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:Labels: app=nginx-testContainers:nginx:Image: harbor.od.com/public/nginx:v1.7.9Port: <none>Host Port: <none>Environment: <none>Mounts: <none>Volumes: <none>
Conditions:Type Status Reason---- ------ ------Available True MinimumReplicasAvailableProgressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: nginx-test-88bc69dd6 (1/1 replicas created)
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 12m deployment-controller Scaled up replica set nginx-test-88bc69dd6 to 1
pod资源
进入pod资源
[root@ceshi-130 conf]# kubectl exec -it nginx-test-88bc69dd6 bash -n kube-public配置端口
[root@ceshi-130 conf]# kubectl expose deployment nginx-test --port=80 -n kube-public
service/nginx-test exposed
[root@ceshi-130 conf]# kubectl get all -n kube-public
NAME READY STATUS RESTARTS AGE
pod/nginx-test-88bc69dd6-cgh8k 1/1 Running 2 5h16m对外提供的唯一出口
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/nginx-test ClusterIP 192.168.37.172 <none> 80/TCP 25sNAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx-test 1/1 1 1 5h16mNAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-test-88bc69dd6 1 1 1 5h16m查看LVS规则,上面的CLUSTER-IP代理172.7.200.1节点
[root@ceshi-131 certs]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.1:443 nq-> 10.1.74.22:6443 Masq 1 0 0 -> 10.1.74.23:6443 Masq 1 0 0
TCP 192.168.37.172:80 nq-> 172.7.200.1:80 Masq 1 0 1 扩容节点
[root@ceshi-130 conf]# kubectl scale deployment nginx-test --replicas=2 -n kube-public
deployment.extensions/nginx-test scaled[root@ceshi-130 conf]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.1:443 nq-> 10.1.74.22:6443 Masq 1 0 0 -> 10.1.74.23:6443 Masq 1 0 0
TCP 192.168.37.172:80 nq-> 172.7.200.1:80 Masq 1 0 0 -> 172.7.200.3:80 Masq 1 0 0
删除deployment
查看
[root@ceshi-131 certs]# kubectl get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-ljx 1/1 1 1 42m
删除
[root@ceshi-131 certs]# kubectl delete deploy nginx-ljx
deployment.extensions "nginx-ljx" deleted[root@ceshi-131 certs]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-ds-f82d2 1/1 Running 0 2m43s
nginx-ds-lkznc 1/1 Running 3 24h
nginx-ljx-669cc7d666-hj9qh 0/1 Terminating 0 73s
通过和本机8080 apiserver进行通信,将用户再命令行输入的命令,组织并转换为apiserver识别的信息,实现管理各种资源的一种有限途径
以yaml格式显示pod
[root@ceshi-130 conf]# kubectl get pods nginx-test-88bc69dd6-4vk58 -o yaml -n kube-public
以yaml格式显示service
[root@ceshi-130 conf]# kubectl get svc nginx-test -o yaml -n kube-public
创建资源配置清单
[root@ceshi-130 ~]# cat nginx-ljx.yaml
apiVersion: v1
kind: Service
metadata:name: nginx-ljxnamespace: defaultlabels:app: nginx-ljx
spec:ports:- port: 80protocol: TCPtargetPort: 80selector:type: ClusterIP
[root@ceshi-130 ~]# kubectl create -f nginx-ljx.yaml
service/nginx-ljx created
查看service
[root@ceshi-130 ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 8d
nginx-ljx ClusterIP 192.168.134.19 <none> 80/TCP 35s 离线修改并应用
[root@ceshi-130 ~]# kubectl apply -f nginx-ljx.yaml 在线修改并应用
[root@ceshi-130 ~]# kubectl edit svc nginx-ljx
service/nginx-ljx edited
[root@ceshi-130 ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 8d
nginx-ljx ClusterIP 192.168.129.159 <none> 888/TCP 3m5s陈述式删除(命令行)
[root@ceshi-130 ~]# kubectl delete svc nginx-ljx
service "nginx-ljx" deleted
声明式删除(yaml/json)
[root@ceshi-130 ~]# kubectl delete -f nginx-ljx.yaml
相关文章:
kubectl基础命令详解
管理名称空间资源 查看名称空间 [rootceshi-130 conf]# kubectl get ns [rootceshi-130 conf]# kubectl get namespace NAME STATUS AGE default Active 7d17h kube-node-lease Active 7d17h kube-public Active 7d17h kube-system …...
collection的遍历方式
增强for遍历 增强for的底层就是迭代器,为了简化迭代器的代码书写的。 他是jdk5之后出现的,其内部原理就是一个Iterator迭代器。 所有的单列集合和数组才能用增强for进行遍历。 package myCollection;import java.util.ArrayList; import java.util.C…...
SpringBoot中@Async使用注意事项
前言 Async这个注解想必大家都用过,是用来实现异步调用的。一个方法加上这个注解以后,当被调用时会使用新的线程来调用。但其实这里面也有一个坑。 问题 这个注解使用时存在如下问题:在没有自定义线程池的场景下,默认会采用Sim…...
IEEE 802.11 RTS/CTS/BA/Management
RTS/CTS IEEE 802.11 RTS/CTS即RTS/CTS协议(Request To Send/Clear To Send)即请求发送/清除发送协议是被802.11无线网络协议采用的一种用来减少由隐藏节点问题所造成的冲突的机制。 相当于一种握手协议,主要用来解决"隐藏终端"问题。"隐藏终端"(Hid…...
【风格迁移】对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁
对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁 提出背景解法:对比度保持连贯性损失(CCPL) 局部一致性假设 对比学习机制 邻域调节策略 互信息最大化对比学习:在无需标签的情况下有效学习区分…...
【C++】贪心算法
贪心算法(Greedy Algorithm)是一种基于贪心策略的算法,它在每一步选择中都采取当前状态下最优的选择,以希望最终得到全局最优解。贪心算法通常适用于满足最优子结构性质的问题,即问题的最优解可以通过其子问题的最优解…...
记一次dockerfile无法构建问题追溯
我有一个dockerfile如下: ENTRYPOINT ["/sbin/tini","-g", "--"] CMD /home/scrapy/start.sh 我原本的用意是先启动tini,再执行下面的cmd命令启动start.sh。 为啥要用tini? 因为我的这个docker…...
React使用 useImperativeHandle 自定义暴露给父组件的实例方法(包括依赖)
关键词 React useImperativeHandle 摘要 useImperativeHandle 是 React 提供的一个自定义 Hook,用于在函数组件中显式地暴露给父组件特定实例的方法。本文将介绍 useImperativeHandle 的基本用法、常见应用场景,以及如何处理其依赖项,以帮…...
yolov5v7v8目标检测增加计数功能--免费源码
在yolo系列中,很多网友都反馈过想要在目标检测的图片上,显示计数功能。其实官方已经实现了这个功能,只不过没有把相关的参数写到图片上。所以微智启软件工作室出一篇教程,教大家如何把计数的参数打印到图片上。 一、yolov5目标检测…...
JPA常见异常 JPA可能抛出的异常
1、EntityNotFoundException(实体不存在异常): 通过 JPA 查找一个不存在的实体。 2、NonUniqueResultException(非唯一结果异常): 查询返回了多个结果,但期望只有一个结果。 3、TransactionRequiredExcep…...
Dockerfile的艺术:构建高效容器镜像的指令详解与实战指南
在容器化技术风靡全球的今天,Dockerfile作为构建 Docker 镜像的蓝图,其编写技巧与理解深度直接影响着应用部署的效率与稳定性。本文将深入剖析Dockerfile中的核心指令,以实战角度为您呈现一份详尽的解读与操作指南,并在文末抛出一…...
软件开发项目管理中各角色职责介绍
项目经理:项目经理在项目全生命周期中扮演着核心统筹与协调者的角色,负责从项目的启动、规划、执行、监控直至收尾的全过程管理。具体职责包括但不限于以下几点: 制定项目计划:依据项目业务主客户需求,明确项目范围、时…...
将时间转换为 `刚刚`、`几秒前`、`几分钟前`、`几小时前`、`几天前`、几月前或按照传入格式显示
const formatPast (date, type "default", zeroFillFlag true) > {// 定义countTime变量,用于存储计算后的数据let countTime;// 获取当前时间戳let time new Date().getTime();// 转换传入参数为时间戳let afferentTime new Date(date).getTime(…...
Oracle存储过程干货(二):PLSQL控制语句
注:本文的数据都来源于,oracle自带的emp表。 —if then elsif end if,单条件判断— declarev_grade char(1); beginv_grade : B;if v_grade A thendbms_output.put_line(哥真牛逼);elsedbms_output.put_line(哥还得加油);end if; end; /—if then els…...
深入Gradle:初识构建自动化的魅力
在软件开发的世界中,构建工具是不可或缺的一部分。它们帮助我们自动化编译、测试和打包应用程序的过程,从而节省时间并减少错误。在众多构建工具中,Gradle以其灵活性、可扩展性和卓越的性能而脱颖而出。本篇文章将带你走进Gradle的世界&#…...
cpp版ros2、opencv转换
ros2转opencv #include <opencv2/opencv.hpp> #include <cv_bridge/cv_bridge.h> #include <sensor_msgs/image_encodings.hpp> subscriber_ this->create_subscription<sensor_msgs::msg::Image>( "img", 10, std::bind(&Subs…...
使用API接口竞品价格监控
步骤一:确定监控目标和KPIs 目标:明确您希望通过监控竞品价格来实现的目标,例如保持价格竞争力、检测价格波动等。KPIs:设定关键绩效指标,如价格变动幅度、价格调整频率等。 步骤二:选择数据源和API 电商…...
Redis的BitMap的使用
简介 Redis的Bitmap不是一个独立的数据结构类型,而是基于字符串(String)类型实现的一种功能 ,存储的是二进制的文件,布隆过滤器就是基于BitMap实现的。 语句的使用 新增操作 setbit key offset value offset的首位…...
视频号带货究竟怎么做?老阳分享的项目怎么样?
在当今社会,随着互联网的快速发展,社交媒体已经成为人们日常生活中不可或缺的一部分。在这个背景下,视频号带货作为一种新兴的电商模式,逐渐崭露头角。许多人都想通过加入视频号带货行业来实现自己的财富自由。其中,老…...
AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案
一、背景介绍 随着城市化进程的加速,垃圾处理问题日益受到人们的关注,传统的垃圾站管理方式已经无法满足现代社会的需求。针对当前垃圾站的监管需求,TSINGSEE青犀可基于旗下视频智能检测AI智能分析网关V4与安防监控视频综合管理系统EasyCVR平…...
好用的临沂GEO生成式引擎优化公司
在当今数字化时代,互联网的发展日新月异,AI搜索逐渐成为人们获取信息的重要方式。对于企业和个人来说,如何在海量信息中脱颖而出,让自己的产品、品牌、理念被客户第一时间找到,成为了亟待解决的问题。临沂好味来文化传…...
RT-Thread启动流程与BSP移植实战:从复位向量到多任务调度
1. 项目概述:从“上电”到“跑起来”的旅程当你拿到一块新的开发板,烧录好RT-Thread的固件,按下复位键,屏幕上开始打印出熟悉的“ | / -”启动动画和版本信息时,你有没有想过,从芯片上电复位到你的main_thr…...
用NE555和立创EDA做个会‘叮咚’的门铃:从原理图到PCB打板的完整DIY记录
从零打造NE555叮咚门铃:立创EDA全流程实战指南 当电子爱好者第一次尝试将电路图转化为实物时,往往会面临软件操作、元件选型和生产对接的多重挑战。本文将以经典NE555叮咚门铃为例,手把手演示如何用立创EDA完成从原理图设计到PCB打板的完整流…...
工具推荐:HTML5+AI开发必备的前端调试工具
工具推荐:HTML5AI开发必备的前端调试工具 工具推荐:HTML5AI开发必备的前端调试工具📝 本章学习目标:本章聚焦职业发展,帮助读者规划HTML5AI的学习与职业路径。通过本章学习,你将全面掌握"工具推荐&…...
长期项目中使用Taotoken观测用量与优化API调用策略
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期项目中使用Taotoken观测用量与优化API调用策略 在持续数月的开发项目中,团队对大型语言模型的调用往往从简单的功能…...
CANN/hcomm集群信息初始化API
HcclCommInitClusterInfo 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT࿱…...
别再只当Atlas是元数据仓库了!手把手教你用它的UI搞定数据分类与血缘追溯
别再只当Atlas是元数据仓库了!手把手教你用它的UI搞定数据分类与血缘追溯 数据治理工具常被视为"高大上"的架构师专属玩具,但Apache Atlas的UI界面却藏着连一线工程师都能立刻上手的实用功能。上周排查一个报表异常时,我发现团队里…...
Taotoken的用量分析与账单追溯功能让财务对账更轻松
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken的用量分析与账单追溯功能让财务对账更轻松 对于依赖大模型API进行开发的企业或项目团队而言,成本核算与费用分…...
你的uniapp扫码功能总失灵?可能是PDA广播没配对!手把手教你从设备设置到代码监听
Uniapp与PDA扫码功能深度整合:从硬件配置到代码监听的完整指南 在移动应用开发领域,PDA(便携式数据采集终端)与Uniapp的整合已成为许多企业级应用的核心需求。特别是物流仓储、零售盘点等场景下,扫码功能的稳定性直接关…...
荧光改性PEG磷脂
我们提供荧光改性PEG磷脂的定制开发与规模化制备服务,面向脂质体构建、纳米递送体系标记、膜界面行为追踪等研究与应用需求,可在分子结构设计、荧光模块选择、PEG链段调控以及磷脂骨架匹配等多个层面提供针对性方案,支持从实验室小试到中试放…...
