Kubernetes之服务的基本管理

news2024/12/21 16:36:00
  • svc是kubernetes最核心的概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到后端的各个容器应用上。
  • pod生命周期短不稳定,pod异常后新生成的pod的IP会发生变化,通过Service对pod做代理,Service具有固定的IP和Port,service会自动关联后端pod,即使pod发生改变,Kubernetes内部会自动更新这组关系。如果deployment创建了多个副本,Service代理多个pod,所有发送给svc1的请求,都会转发给后端的pod,pod数目越多,每个pod的负载就越低,vc将请求发送给后端的pod,是由kube-proxy组件来实现的。
  • svc是通过标签来定位pod的,deployment创建出来的pod都具有相同的标签,所以一个pod挂掉了,deployment会马上生成一个具有相同标签的pod,此时svc能立即定位到新的pod,如果deployment创建了多个副本,svc也能立即定位到这些pod。

服务的基本管理

  • 创建一个deployment的yaml文件
mkdir svc
cd svc
kubectl create deployment web1 --image=nginx --dry-run=client -o yaml > web1.yaml

在这里插入图片描述

  • 修改镜像下载策略和标签内容,yaml文件内容如下
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: web1                                  # deployment标签
  name: web1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web1                                # deployment定位pod的标签
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: web1                              # delployment创建pod的标签
    spec:
      containers:
      - image: nginx
        imagePullPolicy: IfNotPresent
        name: nginx
        resources: {}
status: {}
  • 创建deployment,并查看状态
kubectl apply -f web1.yaml
kubectl get deployment -o wide

在这里插入图片描述

  • 基于deployment创建svc并查看服务,不使用--name指定服务名,则保持和deployment名字一致。--port指服务端口, --target-port是后端pod运行服务的端口。当基于pod创建svc时,如果pod有多个标签,使用--selector=app=web1可以指定根据哪个标签来定位pod。
kubectl expose deployment web1 --name=web1 --port=80 --target-port=80
kubectl get service -o wide

在这里插入图片描述

  • 查看svc详细内容,Endpoints为后端pod的IP
kubectl describe svc web1

在这里插入图片描述

  • 删除svc
kubectl delete svc web1

在这里插入图片描述

  • 用命令行生成svc的yaml文件,并查看
kubectl expose deployment web1 --name=web1 --port=80 --target-port=80 --dry-run=client -o yaml > svc1.yaml
vi svc1.yaml

在这里插入图片描述

  • 使用yaml文件创建svc,并查看服务
kubectl apply -f svc1.yaml
kubectl get svc

在这里插入图片描述

  • 删除服务
kubectl delete -f svc1.yaml

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JSD2212班第二次串讲-面向对象阶段

1. 概述 系统介绍一下接下来阶段要学习的内容: 1.JAVA: 1.1 java语言基础 1.2 java面向对象阶段(很重要!起的承上启下!!) 1.3 API阶段(Application Interface )学会看字…

Spring Cloud @RefreshScope 原理分析:代理类的创建

背景 前面我们知道,被 RefreshScope 注解的实例,在扫描生成 BeanDefiniton 时,被偷龙转凤了:注册了两个 Bean 定义,一个 beanName 同名、类型是 LockedScopedProxyFactoryBean.class 代理工厂 Bean,一个 s…

6-Java中新建一个文件、目录、路径

文章目录前言1-文件、目录、路径2-在当前路径下创建一个文件3-在当前路径下创建一个文件夹(目录)3.1 测试1-路径已经存在3.2 测试2-路径不存在3.2 创建不存在的路径并新建文件3.3 删除已存在的文件并新建4-总结前言 学习Java中如何新建文件、目录、路径…

ASE40N50SH-ASEMI高压MOS管ASE40N50SH

编辑-Z ASE40N50SH在TO-247封装里的静态漏极源导通电阻(RDS(ON))为100mΩ,是一款N沟道高压MOS管。ASE40N50SH的最大脉冲正向电流ISM为160A,零栅极电压漏极电流(IDSS)为1uA,其工作时耐温度范围为-55~150摄氏度。ASE40N…

【架构师】零基础到精通——架构发展

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…

PHP - ChatGpt API 接入 ,代码,亲测!(最简单!)

由于最近ChatGpt 大火,但是门槛来说是对于大家最头疼的环节, 我自己也先开发了一个个人小程序!大家可以访问使用下, 由此ChatGpt 有一个API 可以仅供大伙对接 让我来说下资质: 1:首先要搞得到一个 ChatGp…

HttpRunner接口自动化测试框架--常见问题

本篇文章主要总结在使用httprunner框架做接口自动化测试过程中遇到的问题 官方的问题总结:Issues httprunner/httprunner GitHub 1.在参数化过程中读取CSV文件,不能读取出整型来。 读取下方文件数据,全部是字符串格式 原因:c…

操作系统(复试准备)

操作系统(复试准备) 第一章知识点 操作系统概述 操作系统的概念 负责协调软硬件等计算机资源的工作 为上层用户,应用程序提供简单易用的接口 是一种系统软件 操作系统的功能与目标 资源的管理者 处理机管理,存储器管理&#x…

Linux 基础知识:指令与shell

目录一、操作系统二、指令三、shell一、操作系统 什么是操作系统? 单纯的操作系统应该是指操作系统内核。内核的作用就是管理计算机的软硬件资源,让计算机在合适的时候干合适的事情。 但是有一个问题,并不是人人都会直接通过内核来操作计算机…

异常信息记录入库

方案介绍 将异常信息放在日志里面,如果磁盘定期清理,会导致很久之前的日志丢失,因此考虑将日志中的异常信息存在表里,方便后期查看定位问题。 由于项目是基于SpringBoot构架的,所以采用AdviceControllerExceptionHand…

【跟着ChatGPT学深度学习】ChatGPT带我入门深度学习

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

树与二叉树与森林的相关性质

文章目录树的度树的性质二叉树的性质二叉树与森林树的度 树的度指的是树内所有节点的度数的最大值。 节点的度:节点所拥有的子树的数量。简单来说,我们直接数分支即可,例如下图: 在这颗二叉树中,节点2的度为2&#…

【Java】Synchronized锁原理和优化

一、synchronized介绍 synchronized中文意思是同步,也称之为”同步锁“。 synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果。 synchronized是Java中解决并发问题的一种最常用的方法…

K3S系列文章-使用AutoK3s在腾讯云上安装高可用K3S集群

开篇 《K3s 系列文章》《Rancher 系列文章》 方案 在腾讯云上安装 K3S 后续会在这套 K3S 集群上安装 Rancher 方案目标 高可用3 台master 的 k3s 集群 数据备份k3s 数据备份到 腾讯云对象存储 cos 尽量复用公有云的能力Tencent Cloud Controller Manager (❌ 因为腾讯云已…

【LINUX】环境变量以及main函数的参数

文章目录前言环境变量常见环境变量:设置环境变量:和环境变量相关的命令:环境变量的组织方式:获取环境变量环境变量可以被子进程继承环境变量总结main函数的参数前言 大家好久不见,今天分享的内容是环境变量和main函数…

JUC并发编程与源码分析笔记09-原子类操作之十八罗汉增强

基本类型原子类 AtomicInteger、AtomicBoolean、AtomicLong。 常用API: public final int get();// 获取当前的值 public final int getAndSet(int newValue);// 获取当前值,并设置新值 public final int getAndIncrement();// 获取当前的值&#xff0…

2.25Maven的安装与配置

一.Mavenmaven是一个Java世界中,非常知名的"工程管理工具"/构建工具"核心功能:1.管理依赖在进行一个A 操作之前,要先进行一个B操作.依赖有的时候是很复杂的,而且是嵌套的2.构建/编译(也是在调用jdk)3. 打包把java代码给构建成jar或者warjar就是一个特殊的压缩包…

【基础算法】二分例题(我在哪?)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

图片来源:由无界AI绘画工具生成2月23日,温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式。温州临境网络科技有限公司、温州好玩文化产业有限公司、温州云兮科技有限公司(筹)等企业完成签约。这意味着&#xff…

Spring 事务管理详解及使用

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…