首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏云原生系列

    k8s系列(6)-Helm

    官网介绍安装方案https://helm.sh/zh/docs/intro/install/, 然后安装不上,所以手动安装下

    98231编辑于 2022-10-20
  • 来自专栏无量测试之道

    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 //打印日志,表明服务是存活的 '> .

    59020编辑于 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
  • 来自专栏阶梯计划

    k8s双栈协议无法访问集群外ipv6服务(解决)

    问题背景 k8s集群升级了双协议栈后,从集群内无法访问外部ipv6服务,已经确认部署了Endpoint和Service。而同样采用ipv4是没问题的。 分析ipv4和ipv6的差异:ipv4的SrcIP是Pod所在宿主机的ip,而ipv6的SrcIP是2000:100:100:100:9a7e:bead:f22c:9640,而2000:100:100: 100::/64是集群内部的ipv6网段,可以确定ipv6的请求从Pod所在宿主机出来时没有进行SNAT转换。 FC00:0:130F::9C0:876A:130B 参数 说明 -s 要处理的源IP段 -o 规则绑定的接口 --to-source 替换的IP(本机IP) 增加iptables策略后服务就可以访问了 一些弯路 最初在服务所在主机上通过增加静态路由的方式也可以临时性达到目的: ip -6 route add 2000:100:100:100::/64 via FC00:0:130F::9C0:876A

    1.8K70编辑于 2023-05-04
  • 来自专栏容器云实践

    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 -9qvgr 1/1 Running 0 39m 10.1.0.162 docker-desktop serve-deployment-f6f6c5bbd-w7nj2 1/1 Running 0 39m 10.1.0.161 docker-desktop serve-deployment-f6f6c5bbd-x7v4d

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

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

    1、Service定义服务入口: 即k8s的Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上 八、集群的服务分类 在K8S运行的服务,从简单到复杂可以分成三类:无状态服务、普通有状态服务和有状态集群服务。下面分别来看K8S是如何运行这三类服务的。 K8S为此开发了一套以StatefulSet(1.5版本之前叫做PetSet)为核心的全新特性,方便了有状态集群服务K8S上的部署和管理。 九(二)、集群服务的存储:K8S的存储系统 ---- K8S的存储系统从基础到高级又大致分为三个层次:普通Volume,Persistent Volume 和动态存储供应。 第二种类型是跨节点存储卷,这种存储卷不和某个具体的K8S节点绑定,而是独立于K8S节点存在的,整个存储集群和K8S集群是两个集群,相互独立。

    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服务的       protocol: TCP       port: 8080       targetPort: 8080       nodePort: 30080   type: NodePort k8s pods NAME                             READY   STATUS    RESTARTS       AGE go-deployment-86f769995d-6j4pq 在上面的教程中可以看到,我们先将镜像放到了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
  • 来自专栏TA码字

    k8s集群网络(6)-flannel underlay网络

    当然,这个也是flannel的underlay网络host gw方式的限制,既要求所有的k8s worker node节点都在同一个二层网络里(也可以认为是在同一个ip子网里)。 kubectl-debug deployment-nginx-app-69b6bbfd6d-4b89m ip addr traceroute 10.1.27.4 ? ?

    1.3K20发布于 2020-04-01
  • 来自专栏日常笔记

    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成为可能,而不经过负载均衡器。 Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None #这使得服务成为无头服务 localhost ip6-loopbackfe00::0ip6-localnetfe00::0ip6-mcastprefixfe00::1ip6-allnodesfe00::2ip6-allrouters10.0.0.238busybox 如果想让部署的有状态应用暴露给集群外部客户端访问的话,可以新建个普通(有ClusterIP)的服务,通过标签选择关联有状态服务实例。

    37010编辑于 2024-11-17
  • 来自专栏运维小路

    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
  • 来自专栏iSharkFly

    Confluence 6 配置 Windows 服务

    如何通过命令行方式为 Windows 服务器设置属性: 找到 Confluence 在 Windows 中安装的服务名(进入 控制面板(Control Panel)> 管理工具(Administrative Tools)> 服务(Services)): ? 在上面的示例中,服务名称被命名为 Confluence121213135538。 通过 Windows registry 为 Windows services 设置属性 在一些 Window 的版本中,可能没有办法为启动服务添加 Java 变量的。 https://www.cwiki.us/display/CONF6ZH/Configuring+System+Properties

    1.2K30发布于 2019-01-30
  • 来自专栏技术杂记

    日志服务器(6

    affected (0.02 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> ---- 配置 rsyslog 服务端 .* :ommysql:localhost,Syslog,logger,123456 [root@h105 rsyslog-mysql-5.8.10]# 主要就是打开了 udp 514 端口以接受其它服务器传来的日志 ,打开了往 mysql 中写数据的通道,然后打开一个产生 -- MARK -- 标记信息的特性 重启服务 [root@h105 rsyslog-mysql-5.8.10]# /etc/init.d/rsyslog

    1.1K40发布于 2021-10-20
  • 来自专栏正则

    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
  • 来自专栏Kubernetes

    K8s】Kubernetes 服务调度详解

    如果您有其他想要了解的,欢迎私信联系我~ 基本介绍 在 Kubernetes 中,服务调度是指 kube-scheduler 组件根据特定的调度算法和策略,将 Pod 分配到最合适的 Node 节点上,

    63710编辑于 2024-09-02
  • 来自专栏匿名用户的日记

    k8s 跨 namespace 访问服务

    K8S中,同一个命名空间(namespace)下的服务之间调用,之间通过服务名(service name)调用即可。 不过在更多时候,我们可能会将一些服务单独隔离在一个命名空间中(比如我们将中间件服务统一放在 middleware 命名空间中,将业务服务放在 business 命名空间中)。 遇到这种情况,我们就需要跨命名空间访问,K8S 对service 提供了四种不同的类型,针对这个问题我们选用 ExternalName 类型的 service 即可。 k8s service 分为四种类型 分别为: ClusterIp(默认类型,每个Node分配一个集群内部的Ip,内部可以互相访问,外部无法访问集群内部) NodePort(基于ClusterIp,另外在每个 要收费的,一般由云服务商提供,比如阿里云、AWS等均提供这种服务) ExternalName(将外部地址经过集群内部的再一次封装,实际上就是集群DNS服务器将CNAME解析到了外部地址上,实现了集群内部访问

    2.7K20编辑于 2021-12-14
领券