首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构师成长之路

    k8s实践(11) --服务发现CoreDNS和Kubernetes内部域名解析

    DNS服务。 kubernetes中部署coredns 1、下载coredns部署包并说明 https://github.com/coredns/deployment/tree/master/kubernetes 注意和k8s 通过重新使用现有服务服务请求不会中断。 [root@k8s-master conf.d]# etcdctl ls /k8s/network/subnets /k8s/network/subnets/10.0.24.0-24 /k8s/network /subnets/10.0.86.0-24 /k8s/network/subnets/10.0.35.0-24 (注意:以上原始脚本只适用于当前kubernetes集群含有kube-dns的情况,

    5.1K50编辑于 2022-04-14
  • 来自专栏无量测试之道

    K8s服务编排

    前置说明: k8s_host=192.168.214.50 //定义k8s_host变量,此ip为k8s管理机 yaml_host=192.168.214.100:9999 //相关服务的配置存放机 的管理机上,为服务生成service服务代理 ''' k8s分配给Service一个固定IP,这是一个虚拟IP(也称为ClusterIP),并不是一个真实存在的IP,而是由k8s虚拟出来的。 在k8s系统中,实际上是由k8s Proxy组件负责实现虚拟IP路由和转发的,所以k8s Node中都必须运行了k8s Proxy,从而在容器覆盖网络之上又实现了k8s层级的虚拟转发网络。 做服务部署到K8s集群中去 jenkins_job: 编译代码并生成镜像,且上传到镜像仓库 ---- namespace='test'  //定义一个变量 mvn clean install -DskipTests tail -f /var/log/yum.log //打印日志,表明服务是存活的 '> .

    59120编辑于 2022-07-04
  • 来自专栏桃子小白

    k8s】service服务和job服务

    Service服务发现 使用Service 使用Service实验使用的目录病创建后端的httpd-Dy [root@master servicefile]# vim httpd-dy.yaml kind 创建httpd-service.yaml文件 [root@master servicefile]# vim httpd-service.yaml 创建service并查看该信息(下kubernetes服务是系统服务 ) 测试服务可用性,通过curl命令查看服务是否正常 [root@master servicefile]# curl 10.102.124.67:8080 可以删除刚刚创建的服务 创建httpd-expose.yaml     - sleep 30000 创建并进入Pod命令行 [root@master servicefile]# kubectl apply -f client.yaml 使用nslookup命令查看服务域名 ,wget命令通过域名访问服务 实训任务 创建deployment1 要求: 2 副本,镜像类型 httpd 创建deployment2 要求: 3副本,镜像类型 httpd 创建 service1

    62020编辑于 2023-06-10
  • 来自专栏我的小碗汤

    11 个常见 K8S 避雷指南详解

    它们只需从指标服务器摄取指标并存储起来,然后就可以查询和绘制图表了。 省略健康检查 将服务部署到 Kubernetes 时,健康检查在维护服务方面发挥着重要作用。在 Kubernetes 环境中,健康检查的利用率非常低。 PodDisruptionBudget (pdb) 是集群管理员和集群用户之间的服务保证 API。 请务必创建 pdb,以避免因节点耗尽而造成不必要的服务中断。 每个 HTTP 服务的负载均衡 您的集群中可能有更多的 HTTP 服务,而您希望将这些服务对外公开。 集群内其他相互对话的(微)服务可通过 ClusterIP 服务和开箱即用的 DNS 服务发现进行对话。 注意:不要使用他们的公共 DNS/IP,因为这可能会影响他们的延迟和云成本。

    66210编辑于 2024-04-19
  • 来自专栏技术杂记

    日志服务器(11

    : 这个过程中要确保 php-mysql 包存在,否则无法与mysql 连接,会出现如下的界面 Tip: 遇到这种情况,先检查一下 php-mysql ,然后重新加载环境变量,重启一下 httpd 服务

    78320发布于 2021-10-20
  • 来自专栏福大大架构师每日一题

    2022-05-11k8s安装easydarwin流媒体服务器,yaml如何写?

    2022-05-11k8s安装easydarwin流媒体服务器,yaml如何写? 答案2022-05-11: yaml如下: apiVersion: apps/v1 kind: Deployment metadata: labels: app: easydarwin

    31630编辑于 2022-06-04
  • 来自专栏福大大架构师每日一题

    2022-05-11k8s安装easydarwin流媒体服务器,yaml如何写?

    2022-05-11k8s安装easydarwin流媒体服务器,yaml如何写? 答案2022-05-11: yaml如下: apiVersion: apps/v1 kind: Deployment metadata: labels: app: easydarwin

    33610编辑于 2022-05-11
  • 来自专栏容器云实践

    prometheus k8s服务发现

    同样在Prometheus监控中存在一个叫 服务发现的机制,在k8s容器环境中由于集群内实例网络地址是动态的,我们不可能每次创建或修改实例都将实例IP写入Prometheus的target中,借助 服务发现我们可以快速的将集群内的资源注册到 服务发现 gcesdconfigs: GCE 服务发现 ec2sdconfigs: EC2 服务发现 openstacksdconfigs: OpenStack 服务发现 azuresdconfigs Prometheus中k8s服务发现的原理是通过 Kubernetes 的REST API 检索抓取目标,并始终与集群状态保持同步。 所以我们需要配置Kubernetessdconfigs来访问K8s API 比如我们要抓取k8s ingress,需要为Prometheus指定用于RBAC认证证书和serviceaccount的token 以上通过kubernetes-apiservers、kubernetes-nodes的实例简单介绍了Prometheus中如何实现k8s集群资源的服务发现以及相应的配置和操作。

    2.3K30编辑于 2022-03-14
  • 来自专栏日常笔记

    K8S 服务暴露方式

    NodePort NodePort在kubenretes里是一个广泛应用的服务暴露方式。 这种服务暴露方式,无法让你指定自己想要的应用常用端口,不过可以在集群上再部署一个反向代理作为流量入口。 LoadBalancer LoadBalancer 只能在service上定义。 S) AGE influxdb 10.97.121.42 10.13.242.236 8086:30051/TCP 39s 内部可以使用ClusterIP加端口来访问服务 外部可以用以下两种方式访问该服务: 使用任一节点的IP加30051端口访问该服务 使用EXTERNAL-IP来访问,这是一个VIP,是云供应商提供的负载均衡器IP,如10.13.242.236:8086 总结 总的来说Ingress是一个非常灵活和越来越得到厂商支持的服务暴露方式,包括Nginx、HAProxy、Traefik,还有各种Service Mesh,而其它服务暴露方式可以更适用于服务调试、特殊应用的部署

    3.6K50发布于 2020-06-02
  • 来自专栏灰子学技术

    K8S服务注册

    本文主要用来介绍K8S服务注册和发现,算是笔者对这部分知识的一个学习笔记。 一、服务注册 每个 Kubernetes 服务都会自动注册到集群 DNS 之中。 备注: Kubernetes 使用 DNS 作为服务注册表。 为了满足这一需要,每个 Kubernetes 集群都会在 kube-system 命名空间中用 Pod 的形式运行一个 DNS 服务,通常称之为集群 DNS。 DNS 中注册的名称就是 metadata.name,而 ClusterIP 则由 Kubernetes 自行分配,参考下面的例子: 二、服务发现 第一步:服务获取ClusterIP 要使用服务发现功能 假设它们本地的 DNS 解析缓存中没有这个记录,则需要把查询提交到集群 DNS 服务器,会得到对应服务的 ClusterIP(VIP)不过此时的IP是一个虚IP,需要通过后面的Service Network

    2.7K30发布于 2021-09-22
  • 来自专栏知了一笑

    K8S | Service服务发现

    服务发现与负载均衡。 一、背景 在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问; 对于测试「Tes」环境或者生产「Pro」环境,出于安全或者环境隔离性来考虑 ,在正常情况下只会开放网关服务,而「注册、配置」中心并不会对外暴露; 对于架构中的其它业务服务一般不会对外开放,在K8S集群内部服务间是可以正常通信的,对于「Dev」环境来说,研发会使用「注册、配置」中心 ,网关是系统的访问入口; 在K8S集群中,通过Service组件,可以快速简单的实现服务发现和负载均衡; 二、Service组件 1、简介 在K8S集群中是通过Pod组件来部署应用服务,Deployment 这里提供一个简单的【Service】语法做参考; 需要注意的是:在该脚本中没有指定服务类型即ServiceType,默认采用的是ClusterIP,通过集群的内部IP暴露服务,选择该值时服务只能够在集群内部访问

    49630编辑于 2023-09-01
  • 来自专栏架构师成长之路

    k8s实践(12)--K8s service服务详解

    1、Service定义服务入口: 即k8s的Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上 80:30080/TCP 1h myapp-headless ClusterIP None <none> 80/TCP 11m 八、集群的服务分类 在K8S运行的服务,从简单到复杂可以分成三类:无状态服务、普通有状态服务和有状态集群服务。下面分别来看K8S是如何运行这三类服务的。 K8S为此开发了一套以StatefulSet(1.5版本之前叫做PetSet)为核心的全新特性,方便了有状态集群服务K8S上的部署和管理。 九(二)、集群服务的存储:K8S的存储系统 ---- K8S的存储系统从基础到高级又大致分为三个层次:普通Volume,Persistent Volume 和动态存储供应。

    11.4K26编辑于 2022-04-14
  • 来自专栏仙士可博客

    k8s学习六-k8s部署go服务

    go代码 写一个最简单的http服务器: package main import (    "flag"    "github.com/gin-gonic/gin"    "net/http"     test % curl 127.0.0.1:8080 This is version:v1 running in pod appledeMacBook-Pro.local% dockerfile 编写go服务的 tioncico/go:v1.0.1  # 增加tag docker push tioncico/go:v1.0.1 # 上传到docker hub 此时,在dockerhub上,即可看到编译好的镜像: 编写k8s       protocol: TCP       port: 8080       targetPort: 8080       nodePort: 30080   type: NodePort k8s 在上面的教程中可以看到,我们先将镜像放到了docker hub,才开始进行k8s部署,这样相当于把自己的项目放到了公共的仓库,十分不安全 原因是: k8s有多个节点,如果我们只在一个节点编译镜像,其他节点就无法获取到这个自己编译后的镜像

    1.3K20编辑于 2022-09-13
  • 来自专栏桃子小白

    k8s】将Go服务上传到k8s

    将Go服务发布到k8s集群 首先安装go环境 下载go的tar.gz包 然后下载到虚拟机中,并且解压到/usr/local/src中 //解压缩go包 [root@master ~]# tar -zxf 打包镜像,传到k8s工作节点 [root@master 0607tz]# docker save -o k8sdemo.tar.gz taozheng/k8sdemo:v1 [root@master           path: /           port: 8080         initialDelaySeconds: 10         timeoutSeconds: 2 创建go的服务 name: api     port: 8080     protocol: TCP     targetPort: 8080 selector:   app: k8s-demo k8s 部署 查看pod和服务信息 修改svc的type类型变成nodePort [root@master 0607tz]# kubectl edit svc k8s-demo-svc 保存后再次查看,已经修改成功

    53540编辑于 2023-06-10
  • 来自专栏c

    Linux11 服务管理(2)

    服务的运行级别 aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvNDQyMjAwLzIwMjAwNS80NDIyMDAtMjAyMDA1MjUyMzE5MjM5NTMtOTkwOTU2NDczLnBuZw.png 设置Linux的运行级别 查看当前的运行级别:runlevel 修改运行级别:init 运行级别 例如想要启动 GUI 图形界面,输入 init 5  chkconfig的使用 查看服务 chkconfig 20210730114524.png 关闭network在3运行级别 chkconfig --level 3 network off 开启 chkconfig --level 3 network on 只看单个服务的状态 chkconfig 服务名 --list QQ截图20210730115350.png 提示:设置后需要重启才会生效

    70130发布于 2021-07-30
  • 来自专栏日常笔记

    Spring cloud k8s 服务发现

    spring-cloud-kubernetes 在K8s集群中,没有必要拥有Eureka。K8s中的ETCD拥有所有必要的信息。 您的应用程序将通过指定的K8s服务名称联系K8s API服务器以获取端点信息。 然后可以通过Feign调用返回的服务。 要让DiscoveryClient正常运行,您需要做的 就是将Kubernetes服务名称与spring.application.name属性对齐。

    77450发布于 2020-06-02
  • 来自专栏小陈运维

    k8s的无头服务

    k8s的无头服务Headless Services是一种特殊的service,其spec:clusterIP表示为None,这样在实际运行时就不会被分配ClusterIP,也被称为无头服务,通过DNS解析提供服务发现 这种服务使得直接访问单个Pod成为可能,而不经过负载均衡器。 因为 Headless Service 属于 Service ClusterIp 类型,所以在讲解Headless Service前,先简单说下 Service 和服务发现。 Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None #这使得服务成为无头服务 如果想让部署的有状态应用暴露给集群外部客户端访问的话,可以新建个普通(有ClusterIP)的服务,通过标签选择关联有状态服务实例。

    37010编辑于 2024-11-17
  • 来自专栏京东技术

    服务器装上灵魂 |京东“11·11”技术实录

    ”这和我们买来新电脑需要安装操作系统相似,但是不同的是,‘11·11’大促新服务器上架量一次就有数万台,系统部署需要按照各个业务条线的需求进行安装;不同的业务场景,需要匹配的系统是不同的。” 为备战“11·11”,从7月开始,京东IT资源服务部系统支持团队的同事们就开始和京东各业务一线展开沟通。确认他们的需求、系统版本、系统优化配置、BMC配置和软件部署需求等等。 一般情况下,流程要求系统支持部只有在业务部门分配到资源之后才可以开始部署系统,但是在“11·11”工期紧急的背景下,采取这种优化流程的手段是一种“客户为先”的创新,这也是京东IT资源服务部负责人吕科一直在团队中强调并践行的原则之一 在新旧服务器系统部署工程接近尾声时,大部分服务器已经开始运行业务,系统支持的同事7*24小时随时待命,一起见证今年京东11·11全球好物节全民消费狂欢的顶峰时刻。 京东IT资源服务部未来将会更加集中发力,全力支持京东各方业务创造新的历史。 京东技术:11.11基础架构峰会 将在11月25日,国家会议中心举办

    2K80发布于 2018-04-10
  • 来自专栏运维小路

    Kubernetes(k8s)-服务(Service)介绍

    k8s就给我们抽象一个资源叫做服务Service,简称svc,我们通过访问svc,然后来实现负载均衡访问多个后端,并且还能随着pod的增加或者减少自动调整后端rs。 Service基本概念 在Kubernetes (k8s) 中,Service是一个抽象概念,它定义了一种访问和暴露一组运行在Pods中的应用的方法。 其中port:80是服务的端口,targetPort: 80是容器的80端口。 但是如果我们没有相匹配的标签的pod,则这个时候svc是无法被访问的,因为它没有对应的后端。

    1.7K10编辑于 2025-01-08
  • 来自专栏正则

    K8s上部署Go服务

    通过Rancher一键部署k8s服务 地址: https://rancher.com/quick-start/ 命令 sudo docker run --privileged -d --restart ,我不能使用这个集群 点击添加集群,自定义一通默认到最后给你一个docker命令执行后我们就又得到一个自定义的k8s集群了(弄一个单节点集群的话最后一步把3个都要勾选上) 下载kubectl https 集群部署IP:30080 就可以看到熟悉的 nginx 欢迎界面了 在k8s中部署 golang 服务 代码 package main import "net/http" func main() { 运行服务 app.yml apiVersion: apps/v1 kind: Deployment metadata: name: app-deployment labels: app: 集群部署IP:31080/k8s 正常输出结果(hello world k8s) 部署完成

    1K31编辑于 2022-03-17
领券