当前位置: 首页 > news >正文

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: ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

解析域名:

创建后端应用:

[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:name: web1labels:app: web   # 服务靠标签寻找后端
spec:containers:- name: apacheimage: 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: ClusterIPclusterIP: 10.245.1.80    # 可以设置 ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

# vim  mysvc.yaml---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: 10.245.1.80    # 可以设置 ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

端口别名:

[root@master ~]# vim mysvc.yaml 
---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: 10.245.1.80selector:app: webports:- protocol: TCPport: 80targetPort: myhttp    # 使用别名查找后端服务端口[root@master ~]# kubectl apply -f mysvc.yaml 
service/mysvc configured[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:name: web1labels:app: web
spec:containers:- name: apacheimage: myos:httpdports:               # 配置端口规范- 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/".+ ]] && continuedocker 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-ashboardname: kubernetes-ashboardnamespace: kubernetes-ashboard
spec:type: NoePort       ports:- port: 443noePort: 30443targetPort: 8443selector:k8s-app: kubernetes-ashboard

服务账户与权限:

创建服务账号:

---
kind: ServiceAccount
apiVersion: v1
metadata:name: kube-adminnamespace: kubernetes-dashboard

获取taoken:

角色与鉴权:

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

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

http://www.lryc.cn/news/308496.html

相关文章:

  • C# 高阶语法 —— Winfrom链接SQL数据库的存储过程
  • vue3+vite+ts配置多个代理并解决报404问题
  • 开创未来:探索OpenAI首个AI视频模型Sora的前沿技术与影响
  • Redis---持久化
  • 从 Flask 切到 FastAPI 后,起飞了!
  • 状态码转文字!!!(表格数字转文字)
  • Pytorch 复习总结 4
  • YOLOv9中加入SCConv模块!
  • 代码随想录算法训练营第四十七天丨198. 打家劫舍、​ 213. 打家劫舍 II​、337. 打家劫舍 III
  • 龙蜥Anolis 8.4 anck 安装mysql5.7
  • 【踩坑】修复xrdp无法关闭Authentication Required验证窗口
  • python学习笔记 - 标准库常量
  • 视频和音频使用ffmpeg进行合并和分离(MP4)
  • 02| JVM堆中垃圾回收的大致过程
  • R语言数据可视化之美专业图表绘制指南(增强版):第1章 R语言编程与绘图基础
  • 网站添加pwa操作和配置manifest.json后,没有效果排查问题
  • MongoDB聚合运算符:$cosh
  • Jenkins配置在远程服务器上执行shell脚本(两种方式)
  • Java+SpringBoot,打造社区疫情信息新生态
  • js ES6判断字符串是否以某个字符串开头或者结尾startsWith、endsWith
  • 预研项目完成后小批量验证(技术变更流程)
  • Bert-as-service 实战
  • 微信小程序(四十七)多个token存储
  • 机器学习(II)--样本不平衡
  • 几个好用的 VUE Table
  • Vue源码系列讲解——实例方法篇【三】(生命周期相关方法)
  • 百度SEO工具,自动更新网站的工具
  • 供应链|NUS覃含章MS论文解读:数据驱动下联合定价和库存控制的近似方法 (二)
  • 删除有序数组中的重复项Ⅱ
  • Java底层自学大纲_数据结构和算法篇