Kubernetes的Sevice管理

服务原理:

所有服务都是根据这个服务衍生或者变化出来,根服务----

服务感知后端靠标签  slelector 标签选择器

kubectl label pods web1 app=web

kubectl cluter-info dump | grep -i service-cluster-ip-range      服务ip取值范围

Service 管理:

创建服务:

---
kind: Service
apiVersion: v1
metadata:
  name: mysvc
spec:
  type: ClusterIP
  selector:
    app: web
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

解析域名:

创建后端应用:

[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:
  name: web1
  labels:
    app: web   # 服务靠标签寻找后端
spec:
  containers:
  - name: apache
    image: myos:httpd

[root@master ~]# kubectl apply -f myweb.yaml
pod/web1 created

[root@master ~]# curl http://10.245.5.18
Welcome to The Apache.

负载均衡:

固定IP服务:

---
kind: Service
apiVersion: v1
metadata:
  name: mysvc
spec:
  type: ClusterIP
  clusterIP: 10.245.1.80    # 可以设置 ClusterIP
  selector:
    app: web
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

# vim  mysvc.yaml
 
---
kind: Service
apiVersion: v1
metadata:
  name: mysvc
spec:
  type: ClusterIP
  clusterIP: 10.245.1.80    # 可以设置 ClusterIP
  selector:
    app: web
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

端口别名:

[root@master ~]# vim mysvc.yaml 
---
kind: Service
apiVersion: v1
metadata:
  name: mysvc
spec:
  type: ClusterIP
  clusterIP: 10.245.1.80
  selector:
    app: web
  ports:
  - protocol: TCP

    port: 80
    targetPort: myhttp    # 使用别名查找后端服务端口

[root@master ~]# kubectl apply -f mysvc.yaml 
service/mysvc configured

[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:
  name: web1
  labels:
    app: web
spec:
  containers:
  - name: apache
    image: myos:httpd
    ports:               # 配置端口规范
    - name: myhttp       # 端口别名
      protocol: TCP      # 协议
      containerPort: 80  # 端口号

NodePort:对外发布

云容器引擎:CCE   华为云搭建的K8S

端口范围:30000-32767之间

Ingress:

七层可以基于域名区分,把请求转发给服务,本身不提供服务,ingress只是一个路由,不提供服务.

 
# 资源对象模板
kubectl create ingress mying --class=nginx --rule=nsd.tedu.cn/*=mysvc:80 --dry-run=client -o yaml

自定义请求头

循环上传镜像到harbor

[root@master dashboard]# docker images|while read i t _;do

    
    [[ "${t}" == "TAG" ]] && continue
    [[ "${i}" =~ ^"harbor:443/".+ ]] && continue
    docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
    docker push harbor:443/plugins/${i##*/}:${t}
    docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done

这段脚本在 Docker 环境中执行,主要做了以下几件事:

  1. 列出所有的 Docker 镜像 (docker images)。

  2. 对于每一个镜像,读取其 REPOSITORY(仓库名)和 TAG(标签)。

  3. 跳过所有 TAG 为 "TAG" 的镜像。

  4. 跳过所有 REPOSITORY 以 "harbor:443/" 开头的镜像。

  5. 对于剩余的镜像,执行以下操作:

    • 给该镜像添加一个新的标签(docker tag),新的标签格式为 "harbor:443/plugins/原镜像名:原标签"。
    • 将新标签的镜像推送到 harbor:443 这个 Docker 仓库(docker push)。
    • 删除本地存储的原标签和新标签的镜像(docker rmi)。

这个脚本的主要目的是将本地的一些 Docker 镜像推送到另一个 Docker 仓库(harbor:443),并且在推送之后删除本地的这些镜像。注意,这个脚本可能会删除本地的一些重要镜像,所以在执行之前需要确保这些镜像不再需要,或者已经做好了备份。

此外,这个脚本假设 "harbor:443" 这个仓库已经配置好,并且 Docker 客户端有权限向其中推送镜像。如果没有配置好,或者没有权限,docker push 命令将会失败。

另外,docker rmi 命令在删除镜像时并不会询问确认,所以如果误删除了重要的镜像,可能会导致数据丢失。因此,在执行这个脚本之前,一定要确保你了解它的作用,并且已经做好了必要的准备。

Web管理插件:

发布服务:

---

kin: Service
apiVersion: v1
metaata:
  labels:
    k8s-app: kubernetes-ashboard
  name: kubernetes-ashboard
  namespace: kubernetes-ashboard
spec:
  type: NoePort       
  ports:
    - port: 443
      noePort: 30443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-ashboard

服务账户与权限:

创建服务账号:

---
kind: ServiceAccount
apiVersion: v1
metadata:
  name: kube-admin
  namespace: kubernetes-dashboard

获取taoken:

角色与鉴权:

获取列表:多个资源对象               单一资源对象,属性

补丁:局部更新   更新是全部更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/418975.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在Windows系统中启动Redis服务

前言 Redis是一个开源、高性能的键值对数据库,常用于缓存、消息队列等场景。本文将详细指导您如何在Windows系统上启动Redis服务。 第一步:确认Redis安装 确保您已经在Windows系统上成功安装了Redis。官方提供了预编译好的Windows版本,您可…

虚拟机上为AzureDevOps Server 创建用户

为DevOpsServer创建登录用户 背景虚拟机的本地用户和组去DevOps Server上添加本地用户 背景 我们有一台虚拟机,然后在上面安装了一台Azure DevOps Server,然后我们创建几个登录用户。 虚拟机的本地用户和组 首先我们登陆到虚拟机,然后我们…

B站画质补完计划(2):视频超分让像素细腻生动

本期作者 1 前言 为了给用户提供更清晰的画质体验,B站自研的超分辨率算法已经在站内广泛应用,支持了如《赛马娘》、《流浪地球2》、《权力的游戏》、英雄联盟S赛赛事直播等知名番剧、电影电视剧以及重要游戏赛事直播的 4K 视频流生产。 2 超分算法的应用…

Excel2LaTeX插件的使用、LaTeX表格

目录 一、下载Excel2Latex 二、使用Excel2Latex 1、将Excel2LaTeX文件添加到加载项 2、导出LaTex的表格数据 3、注意事项 1)生成的latex表格断断续续问题 2)改变线形的粗细 3)表格太大,需要缩小到适应大小 4)…

CCDP.01.寄主机SSH连接虚拟机的QA

V0.0 初始版本-2024.2.29 检查VM的网卡配置 如上图,如果enp0s3网卡没有出现形如10.0.0.??/24的ip配置,说明该网卡配置存在错误,或者没有“使能”该网卡。在RockyLinux8.X中可检查“ifcfg-enp0s?” vi /etc/sysconfig/network-…

软件测试人的测试思维

系统性思维 如果以系统性思维来分析和解决问题,就不会出现: 只见树木不见森林片面地追求单个目标被表象所迷惑,看不到本质忽视某些产品质量风险千里之堤、溃于蚁穴用线性的思维方式来理解非线性的问题 而是会整体地、多角度地、多层次地分…

数据仓库与数据挖掘概述

目录 一、数据仓库概述 (一)从传统数据库到数据仓库 (二)数据仓库的4个特征 (三)数据仓库系统 (四)数据仓库系统体系结构 (五)数据仓库数据的粒度与组织…

babylonjs入门-点光源

基于babylonjs封装的一些功能和插件 ,希望有更多的小伙伴一起玩babylonjs; 欢迎加群(点击群号传送):464146715 官方文档 中文文档 案例传送门 ​ 懒得打字,粘贴复制,一气呵成

第二节:开始Sashulin Message Broker旅程

一、创建第一条消息流 1、新建工程 点击File->New Project或工具栏中的New Project按钮创建新工程,我们的示例中命名为"csdnProject",工程名后缀是epr。点击Save即可。 2、新建消息流 建立好工程后,在Project Explorer中建立…

Spring IOC在业务中常见的使用方式

目录 1、什么是IOC 2、java实现创建对象的方式有哪些 3、基于配置文件的di实现 3.1、什么是di 3.2、入门案例 3.3、环境搭建 接口和实现类 ioc配置文件 测试程序 3.4、案例总结 3.5、简单类型属性的赋值(set注入) set注入要求 JavaBean sp…

推特API(Twitter API)对接说明,用户code To Token换取

前期准备 提前准备、说明:目前对接推特api开发门户分为3个版本,分别是免费的,100美金一个月的基础版以及5000美金一个月的企业版,免费的目前就两个接口可以调用,所以想要对接和使用推特最基本的也需要付100美元一个月…

BAT三家市值总和近7000亿美元,足见它们“富可敌国”

当中国互联网拥抱共享经济时,BAT依然展现出它的雄姿。 临近年中,阿里巴巴和腾讯市值均突破3000亿美元,并持续创出历史新高。 百度也逐渐走出低迷,市值已升至600亿美元以上。 BAT这三个公司的总市值接近7000亿美元,可见…

2024阿里云数据库费用价格,2核4G配置227元一年

阿里云数据库大全:RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB,数据仓库如AnalyticDB MySQL版、PostgreSQL、ClickHouse,阿里云还提供数据库管理工具如数…

【开源项目】自动字幕生成和字幕翻译

文章目录 1. 安装ffmpeg2. 克隆项目3. 配置项目运行环境4. 填写配置文件5. 运行项目(仅使用CPU) 项目地址:Github - qinL-cdy/auto_ai_subtitle 项目原理:使用ffmpeg提取视频的音频,使用whisper将音频转写为字幕&#…

WebService 配置与操作

WebService操作配置 本人idea 2020.3版本,会有毛病。 场景:内网环境 内网环境会导致测试麻烦,所以打个demo包给现场测试是否跑通 环境:Springboot项目 添加WebService ok会加载出来 2020.3版本会关了,找不到这窗口 可以以下…

白酒:酿造过程中的微生物群落结构与功能解析

在豪迈白酒的酿造过程中,微生物群落的结构与功能起着至关重要的作用。这些肉眼难以察觉的小生物在白酒的香气、口感和品质形成中扮演着重要角色。云仓酒庄在酿造过程中对微生物群落的结构与功能进行了深入研究与解析,旨在更好地了解和控制微生物群落&…

DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

在 dvwa 靶场进行联合 SQL 注入时,遇到报错 Illegal mix of collations for operation UNION 报错如下图: 解决办法: 找到文件 MySQL.php 大致位置在 \dvwa\includes\DBMS 目录下 使用编辑器打开 检索 $create_db 第一个就是 在 {$_DVW…

TcpServer服务器管理模块(模块十)

目录 类功能 类定义 类实现 编译测试 server.cc gdb测试断点 忽略SIGPIPE信号 类功能 类定义 // TcpServer服务器管理模块(即全部模块的整合) class TcpServer { private:uint64_t _next_id; // 这是一个自动增长的连接IDint _port;i…

【详识JAVA语言】猜数字游戏

游戏规则: 系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "低 了", 如果输入的数字比该随机数大, 提示 "高了" , 如果输入的数字和随机数相等, 则提示 "猜对了" . 参考代码 import java.…

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(前导)

ACM9238 高速双通道ADC模块自助服务手册AD9238 Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(一)-CSDN博客 一、AD9238 模块在各方面参数性能上与AD9226保持一致。但是在设计上优化了信号调理电路,将单端信号先转成差分信号&#xff0c…
最新文章