Kubernetes 如何在不使用kubectl端口转发的情况下在生产中部署Istio Jaeger UI跟踪
我正在尝试为分布式跟踪部署Istio Jaeger UI。目前,我正在使用命令Kubernetes 如何在不使用kubectl端口转发的情况下在生产中部署Istio Jaeger UI跟踪,kubernetes,istio,jaeger,distributed-tracing,Kubernetes,Istio,Jaeger,Distributed Tracing,我正在尝试为分布式跟踪部署Istio Jaeger UI。目前,我正在使用命令kubectl port forward-n monitoring prometheus-prometheus-operator-prometheus-0 9090使用kubectl port forward。但是它还在继续,所以我怎么能在生产中做到呢?是否有其他在生产中部署的方法。以及如何使其在https上运行?根据文档。有不同的方法来访问遥测 推荐的方法是使用https而不是http创建安全访问 两种方法的注意事项
kubectl port forward-n monitoring prometheus-prometheus-operator-prometheus-0 9090使用kubectl port forward。但是它还在继续,所以我怎么能在生产中做到呢?是否有其他在生产中部署的方法。以及如何使其在https
上运行?根据文档。有不同的方法来访问遥测
推荐的方法是使用https而不是http创建安全访问
两种方法的注意事项:
此选项仅包括保护传输层。您还应该将遥测插件配置为在外部公开时需要身份验证
请注意,jaeger本身不支持使用apachehttpd服务器的身份验证方法和解决方法
通过招聘,您可以使用网关(SDS):
a)确保在istio安装过程中,您已在入口网关启用SDS——设置网关。istio入口网关。SDS.enabled=true
和——设置跟踪。enabled=true
,以便进行跟踪
b)为测试目的创建自签名证书。您可以使用此选项
c)请遵循和
创建虚拟服务和网关:
apiVersion:networking.istio.io/v1alpha3
种类:网关
元数据:
姓名:mygateway
规格:
选择器:
istio:ingressgateway#使用istio默认入口网关
服务器:
-端口:
电话:443
名称:https
协议:HTTPS
tls:
模式:简单
credentialName:“httpbin credential”#必须与步骤2中装入的机密文件相同。
主持人:
-“httpbin.example.com”##您可以对所有主机应用“*”
apiVersion:networking.istio.io/v13
种类:虚拟服务
元数据:
名称:追踪
规格:
主持人:
-“httpbin.example.com”##您可以对所有主机应用“*”
网关:
-我的网关
http:
-匹配:
-港口:443
路线:
-目的地:
端口:
电话:80
主机:tracing.istio-system.svc.cluster.local
curl-kvI https://xx.xx.xx.xx/
*正在尝试xx.xx.xx.xx。。。
*TCP_节点集
*已连接到xx.xx.xx.xx(xx.xx.xx.xx)端口443(#0)
*阿尔卑斯山,提供h2
*ALPN,提供http/1.1
*密码选择:全部:!出口:!出口40:!出口56:!阿努尔:!低:!RC4:@强度
*已成功设置证书验证位置:
*CAfile:/etc/ssl/certs/ca-certificates.crt
CApath:/etc/ssl/certs
*TLSv1.2(OUT)、TLS标头、证书状态(22):
*TLSv1.2(输出),TLS握手,客户端问候(1):
*TLSv1.2(IN)、TLS握手、服务器hello(2):
*TLSv1.2(IN),TLS握手,证书(11):
*TLSv1.2(IN)、TLS握手、服务器密钥交换(12):
*TLSv1.2(IN),TLS握手,服务器完成(14):
*TLSv1.2(输出)、TLS握手、客户端密钥交换(16):
*TLSv1.2(OUT),TLS更改密码,客户端hello(1):
*TLSv1.2(输出),TLS握手,完成(20):
*TLSv1.2(IN),TLS更改密码,客户端hello(1):
*TLSv1.2(IN),TLS握手,完成(20):
*使用TLSv1.2/ECDHE-RSA-AES128-GCM-SHA256的SSL连接
*ALPN,服务器接受使用h2
>HEAD/HTTP/1.1
>主持人:xx.xx.xx.xx
>用户代理:curl/7.52.1
>接受:*/*
>
*连接状态已更改(最大并发流已更新)!
希望此帮助是您的入口选项吗?您是指istio入口网关?根据文档,有不同的方式访问istio仪表板Kiali Prometheus Grafana跟踪:1。2.或者,使用Kubernetes入口。请看一看,给我们一个反馈,你正在尝试做什么。请提供您使用的版本以及如何部署ISTIO+addons@Hanx我正在使用
Istio 1.3.4
,我试图以不安全的方式(Http
)使用遥测附加组件部署Jaeger
。除此之外,我想在https
中实现它。我每天使用不同的集群。因此,不可能将该外部IP地址指向我的域。那么我该怎么做呢?是的,正如@Hanx还提到的,您可以使用例如nginx入口控制器。结合cert manager,您还可以通过letsencrypt等方式使用https。
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: mygateway
spec:
selector:
istio: ingressgateway # use istio default ingress gateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: "httpbin-credential" # must be the same as secret crated in the step 2.
hosts:
- "httpbin.example.com" ## You can apply "*" for all hosts
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: tracing
spec:
hosts:
- "httpbin.example.com" ## You can apply "*" for all hosts
gateways:
- mygateway
http:
- match:
- port: 443
route:
- destination:
port:
number: 80
host: tracing.istio-system.svc.cluster.local
curl -kvI https ://xx.xx.xx.xx/
* Trying xx.xx.xx.xx...
* TCP_NODELAY set
* Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
> HEAD / HTTP/1.1
> Host: xx.xx.xx.xx
> User-Agent: curl/7.52.1
> Accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 200
HTTP/2 200
< content-type: text/html; charset=utf-8
content-type: text/html; charset=utf-8
< date: Thu, 07 Nov 2019 10:01:33 GMT
date: Thu, 07 Nov 2019 10:01:33 GMT
< x-envoy-upstream-service-time: 1
x-envoy-upstream-service-time: 1
< server: istio-envoy
server: istio-envoy