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平…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...