- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于guide
我正在使用从集群插件安装的 GKE 1.13.6-gke.6 + Istio 1.1.3-gke.0。
按照相同的步骤安装 cert_manager 并创建我需要的 Issuer 和 Certificate:
发行人
$ kubectl describe issuer letsencrypt-prod -n istio-system
Name: letsencrypt-prod
Namespace: istio-system
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"certmanager.k8s.io/v1alpha1","kind":"Issuer","metadata":{"annotations":{},"name":"letsencrypt-prod","namespace":"istio-system"},"spec":{...
API Version: certmanager.k8s.io/v1alpha1
Kind: Issuer
Metadata:
Creation Timestamp: 2019-06-14T03:11:17Z
Generation: 2
Resource Version: 10044939
Self Link: /apis/certmanager.k8s.io/v1alpha1/namespaces/istio-system/issuers/letsencrypt-prod
UID: 131f1cdd-8e52-11e9-9ba7-42010a9801a6
Spec:
Acme:
Email: ---obscured---@---.net
Http 01:
Private Key Secret Ref:
Name: prod-issuer-account-key
Server: https://acme-v02.api.letsencrypt.org/directory
Status:
Acme:
Uri: https://acme-v02.api.letsencrypt.org/acme/acct/59211199
Conditions:
Last Transition Time: 2019-06-14T03:11:18Z
Message: The ACME account was registered with the ACME server
Reason: ACMEAccountRegistered
Status: True
Type: Ready
Events: <none>
证书
$ kubectl describe certificate dreamy-plum-bee-certificate -n istio-system
Name: dreamy-plum-bee-certificate
Namespace: istio-system
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"certmanager.k8s.io/v1alpha1","kind":"Certificate","metadata":{"annotations":{},"name":"dreamy-plum-bee-certificate","namespace":"istio-s...
API Version: certmanager.k8s.io/v1alpha1
Kind: Certificate
Metadata:
Creation Timestamp: 2019-06-14T03:24:43Z
Generation: 3
Resource Version: 10048432
Self Link: /apis/certmanager.k8s.io/v1alpha1/namespaces/istio-system/certificates/dreamy-plum-bee-certificate
UID: f3ed9f15-8e53-11e9-9ba7-42010a9801a6
Spec:
Acme:
Config:
Domains:
dreamy-plum-bee.somewhere.net
Http 01:
Ingress Class: istio
Common Name: dreamy-plum-bee.somewhere.net
Dns Names:
dreamy-plum-bee.somewhere.net
Issuer Ref:
Name: letsencrypt-prod
Secret Name: dreamy-plum-bee-certificate
Status:
Conditions:
Last Transition Time: 2019-06-14T03:25:12Z
Message: Certificate is up to date and has not expired
Reason: Ready
Status: True
Type: Ready
Not After: 2019-09-12T02:25:10Z
Events: <none>
网关
$ kubectl describe gateway dreamy-plum-bee-gtw -n istio-system
Name: dreamy-plum-bee-gtw
Namespace: istio-system
Labels: k8s-app=istio
Annotations: <none>
API Version: networking.istio.io/v1alpha3
Kind: Gateway
Metadata:
Creation Timestamp: 2019-06-14T06:08:13Z
Generation: 1
Resource Version: 10084555
Self Link: /apis/networking.istio.io/v1alpha3/namespaces/istio-system/gateways/dreamy-plum-bee-gtw
UID: cabffdf1-8e6a-11e9-9ba7-42010a9801a6
Spec:
Selector:
Istio: ingressgateway
Servers:
Hosts:
dreamy-plum-bee.somewhere.net
Port:
Name: https
Number: 443
Protocol: HTTPS
Tls:
Credential Name: dreamy-plum-bee-certificate
Mode: SIMPLE
Private Key: sds
Server Certificate: sds
Events: <none>
$ kubectl get gateway dreamy-plum-bee-gtw -n istio-system -o yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
creationTimestamp: 2019-06-14T06:08:13Z
generation: 1
labels:
k8s-app: istio
name: dreamy-plum-bee-gtw
namespace: istio-system
resourceVersion: "10084555"
selfLink: /apis/networking.istio.io/v1alpha3/namespaces/istio-system/gateways/dreamy-plum-bee-gtw
uid: cabffdf1-8e6a-11e9-9ba7-42010a9801a6
spec:
selector:
istio: ingressgateway
servers:
- hosts:
- dreamy-plum-bee.somewhere.net
port:
name: https
number: 443
protocol: HTTPS
tls:
credentialName: dreamy-plum-bee-certificate
mode: SIMPLE
privateKey: sds
serverCertificate: sds
现在使用当前设置,如果我使用 openssl 命令进行测试:
$ $ openssl s_client -connect dreamy-plum-bee.somewhere.net:443
CONNECTED(00000005)
write:errno=54
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Start Time: 1560492782
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
在 Chrome 浏览器中,它无法访问带有 ERR_CONNECTION_RESET 错误消息的页面。
但是,如果我使用基于自签名文件系统的证书更改网关的 tls 设置,例如:
tls:
mode: PASSTHROUGH
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
privateKey: /etc/istio/ingressgateway-certs/tls.key
该站点是可访问的。因此,我怀疑 credentialName 设置有问题。网关似乎无法获取证书资源来启动连接。
任何建议都将不胜感激,例如检查/调试等...
最佳答案
最终我想通了 Envoy SDS: Fortifying Istio Security - Yonggang Liu & Quanjie Lin, Google很有帮助。
关于kubernetes - Istio Gateway + Cert-Manager + letsencrypt 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56592446/
我们有一个将导出流量路由到服务网格之外的外部服务的最小示例。 apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata:
如何在 istio 的目标规则中使用部分匹配的 URI? 试图实现这样的目标: apiVersion: networking.istio.io/v1alpha3 kind: VirtualServic
我看到了Istio site提到速率限制支持,但我只能找到全局速率限制示例。 是否可以在用户级别这样做?例如,如果我的用户登录但在一秒钟内发送超过 50 个请求,那么我想阻止该用户等。在类似情况下,如
这里是 VirtualService 的例子,同时使用了超时和重试。 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService met
这里是 VirtualService 的例子,同时使用了超时和重试。 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService met
场景 我正在使用 Istio 1.5 来自 this question我知道 Istio 使用的默认 envoy 访问日志格式,即 \[%{TIMESTAMP_ISO8601:timestamp}\]
我们已经在开发和生产环境中使用 helm-chart 部署了 Istio 1.11.0。我们在 istio configmap 中使用以下配置,我们已通过 istio-control helm-cha
文档中没有提到主体名称是如何构造的。我所说的主体是指 istio sidecar 创建的客户端证书中的名称,并且可以在规范的 from 指令中的 istio AuthorizationPolicy 对
我目前正在研究 1.6 版的服务网格 Istio。数据平面(Envoy 代理)由控制平面配置。尤其是 Pilot( istiod 的一部分)负责将路由规则和配置传播给特使。我想知道通信是如何工作的?
当用户有多个与之关联的角色时,授权持有者 token 将超过 istio 提供的最大 header 大小,从而阻止所有请求。 授权不记名 token 超过 35,000 个字符,大小为 34K。 如何
我似乎无法找到/理解如何更改 kubernetes 中 Istio 负载均衡器的默认错误登录页面。 例如 503“上游不健康”页面。 是否可以在 Istio 中更改这些?如果是这样,我将如何去做? 提
我知道您可以使用 istio 在服务没有响应时打开断路器。而不是返回 503 , 是否可以重定向到不同的 URL?同样的问题,但是当原始服务返回 500 时,我们可以重定向到另一个 URL 吗? 或者
如何为 Kubernetes 禁用 Istio sidecar 注入(inject) Job ? apiVersion: batch/v1beta1 kind: CronJob metadata:
我正在尝试让 lua envoy 过滤器与 istio 网关一起工作,但我添加到集群并且它正在工作,就好像过滤器不存在一样。 我已经使用本指南在 GKE 上配置了我的 istio 集群 https:/
我想在 kubernetes 集群中运行的不同服务之间实现 TLS 相互身份验证,我发现 Istio 是一个很好的解决方案,无需对代码进行任何更改即可实现这一目标。 我正在尝试使用 Istio sid
我正在尝试让 lua envoy 过滤器与 istio 网关一起工作,但我添加到集群并且它正在工作,就好像过滤器不存在一样。 我已经使用本指南在 GKE 上配置了我的 istio 集群 https:/
我已经使用 Helm 安装了 ISTIO。我忘了启用 grafana、kiali 和 jaeger。安装 istio 后如何启用上述所有服务? 最佳答案 这里是 howto : 来自官方仓库。 你需要
据我了解,无论如何,您的 Istio 网关前都会有一个 NLB 或 ALB? 但我很困惑,因为 Istio Gateway 似乎为 ALB 为第 7 层甚至更多做了很多事情? 所以我读了 ALB ->
我正在使用 helm 安装带有 --set grafana.enabled=true 的 istio-1.0.0 版本. 要访问 grafana 仪表板,我必须使用 kubectl 进行端口转发命令。
我已经使用 Helm 安装了 ISTIO。我忘了启用 grafana、kiali 和 jaeger。安装 istio 后如何启用上述所有服务? 最佳答案 这里是 howto : 来自官方仓库。 你需要
我是一名优秀的程序员,十分优秀!