使用k8s集群内解析服务

curl https://saas-pay-gray.XXX.cn/ping 外网

curl https://vpc-saas-pay-gray.XXX.cn/ping slb,即阿里云内网 1/3包是通的 当时设计slb(vpc)的时候考虑到具体功能,除了日常使用使用内网拉取容器镜像的功能之外,是否还有其他?

由于公司架构使用了k8s集群,k8s内部有做了一套完整的解析;即
不经过slb,直接通过k8s集群内DNS解析调用服务

  servicename

curl saas-pay-gray/ping 相同的命名空间

kuaizimu-h5-gray -> saas-pay
servicename.namespace
curl saas-pay-gray.saas/ping 不同的命名空间之间的服务调用

curl http://saas-pay-gray.saas/ping 实验证明:在容器内直接获取k8s集群内的另外一个容器服务是可以的

curl https://saas-pay-gray.saas/ping 这里不可以访问的原因是内部解析不通过证书解析

https 对应 一个域名

杨贵明那里调用服务是通过域名" http://saas-pay-prod.saas.svc.cluster.local "调用服务的,其原理和调用servicename一样。
servicename的cluster.local在 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 文件中定义。
可以通过命令查看:
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf |grep cluster-domain |awk ‘{print $NF}‘

线下是否可以一样的方法调用servicename呢?答案是可以的
saas-pay-test.saas.svc.cluster.local

刚刚和阿里这儿确认了一下:
以后k8s集群内容器之间的服务调用,域名统一使用 "项目名.命名空间.svc.cluster.local" ;这个仅在k8s集群内解析。
外网之间调用k8s服务,直接使用公网的域名即可
注:
k8s集群内的容器之间的服务调用 不能走ECS的vpc网络,这种情况集群会把slb的ip当着是service的ip就进行转发

即vpc-公网域名;

原文地址:https://blog.51cto.com/12131824/2396754

时间: 2024-10-03 09:26:59

使用k8s集群内解析服务的相关文章

K8s集群内热改代码

1.登录到k8s master服务器 $ ssh [email protected] 2.查看服务容器所在的节点(以wx-server为例) $ kubectl get pods -nwx -o wide 3.远程连接所在节点 $ ssh <节点> 4.筛选出正在运行的容器(以wx-server为例) $ docker ps | grep wx 5.进入docker(以wx-server为例) $ docker exec -it <docker container> sh 6.修改

编写监控脚本,监控集群内所有服务存活状态,内存、磁盘剩余率检测,异常则发送报警邮件

发送邮件Python程序 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.mime.multipart import email.mime.text server = 'smtp.163.com' port = '25' def sendmail(server,port,user,pwd,msg): smtp = smtplib.SMTP() smtp.connect(server,

kubernetes生态--交付prometheus监控及grafana炫酷dashboard到k8s集群

由于docker容器的特殊性,传统的zabbix无法对k8s集群内的docker状态进行监控,所以需要使用prometheus来进行监控: 什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本. 2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prom

Prometheus+Grafan监控k8s集群详解

一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包,自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区.现在,它是一个独立的开源项目,并且独立与任何公司维护.为了强调这一点并阐明项目的治理结构,Prometheus在2016年加入了 Cloud Native Computing Foundation(云原生计算基金会(CNCF)),这是继kuberne

在kubernetes 集群内访问k8s API服务

所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户).基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允许管理员通过Kubernetes API动态配置策略. API Server 内部通过用户认证后,然后进入授权流程.对合法用户进行授权并且随后在用户访问时进行鉴权,是权限管理的重要环节.在 kubernetes 集群中

【K8S学习笔记】Part1:使用端口转发访问集群内的应用

本文介绍如何使用kubectl port-forward命令连接K8S集群中运行的Redis服务.这种连接方式有助于数据库的调试工作. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 在进行该操作之前,需要满足以下条件: 需要有一个K8S集群,并且配置好了kubectl命令行工具来与集群通信.如果未准备好集群,那么你可以使用Minikube创建一个K8S集群,或者你也可以使用下面K8S环境二者之一: Katacoda Play with Kubernete

kubernetes实战-交付dubbo服务到k8s集群(六)使用blue ocean流水线构建dubbo-consumer服务

我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gitee的私有仓库,需要添加公钥,这里大家可以自己找个client服务来做实验. 下面是我们通过jenkins构建的镜像,已经上传到我们的harbor私有仓库当中了: 这里我们构建了两次,构建了两个镜像,11bb9cd这个用来做模拟生产发版更新实验. 准备资源配置清单: 1.dp.yaml  红色部分根据

k8s 集群管理和微服务 适合做啥

k8s 集群管理和微服务 适合做啥 都知道k8s是集群 适合微服务 有很多教程 但你可以先了解他能干啥 traefix 是负载均衡工具 k8s 适合部署无状态依赖的微服务 可以按需求开启多个微服务 管理工具能自动发现并均衡 像redis sql ceph(对象存储)这些 支撑 和有状态依赖的服务 并不适合k8 原文地址:https://www.cnblogs.com/ham-731/p/12231693.html

K8S集群安装

主要参考 https://github.com/opsnull/follow-me-install-kubernetes-cluster 01.系统初始化和全局变量 添加 k8s 和 docker 账户 在每台机器上添加 k8s 账户,可以无密码 sudo: $ sudo useradd -m k8s $ sudo visudo $ sudo grep '%wheel.*NOPASSWD: ALL' /etc/sudoers %wheel ALL=(ALL) NOPASSWD: ALL $ su