我对Kubernetes和Istio有点陌生。我正在尝试创建一个服务并通过HTTPS访问它。
kubectl create secret generic clouddns --namespace=cert-manager --from-literal=GCP_PROJECT=<PROJECT> --from-file=/etc/keys/<KEY>.json
这些是我的网关、虚拟服务、集群颁发者和证书的配置文件。
网关
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: messaging-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "<HOST>"
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- "<HOST>"
tls:
credentialName: messaging-certificate
mode: SIMPLE
privateKey: sds
serverCertificate: sds
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: messaging
spec:
hosts:
- "<HOST>"
gateways:
- messaging-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
host: messaging
port:
number: 8082
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: messaging-cluster-issuer
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: <EMAIL>
privateKeySecretRef:
name: messaging-letsencrypt
solvers:
- dns01:
clouddns:
serviceAccountSecretRef:
name: clouddns
key: <KEY>.json
project: <PROJECT>
证书
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: messaging-certificate
spec:
secretName: messaging-certificate
duration: 2160h # 90d
renewBefore: 360h # 15d
organization:
- RELE.AI
commonName: <HOST>
isCA: false
keySize: 2048
keyAlgorithm: rsa
keyEncoding: pkcs1
usages:
- server auth
- client auth
dnsNames:
- <HOST>
issuerRef:
name: messaging-cluster-issuer
kind: ClusterIssuer
当我运行kubectl get secrets messaging-certificate-o yaml
时,我可以看到tls.crt和tls.key内容。
有什么想法为什么我不能达到我可以通过HTTPS访问的点吗?
----编辑
完整的istio清单-我已经使用ISTIoctl清单生成
生成了清单。希望这是正确的方法
您应该执行以下操作:
TLS
字段中删除serverCertificate和privateKey字段,如https://istio.io/docs/tasks/traffice-management/ingress/secure-ingress-sds/#configure-a-tls-ingress-gateway-for-a-single-host我有一个java项目,它使用sbt(scala)进行构建。直到昨天,这是有效的,但今天我看到了一个问题,从maven中提取一个回购 根据我的推断,repo似乎已经移到了httpsendpoint。并且pom文件在httpsendpoint上可用。问题是,在我的项目中,这不是一个直接的依赖项,而是通过其他一些依赖项传递过来的。如何将https用于此特定依赖项? 我使用的是sbt版本0.13.5。我为
这是我的docker-compose.yml代码: 下面是我的traefik.toml代码:
我正在尝试使用三个虚拟机(Master–10.x.x.4、Node1–10.x.x.150、Node2–10.x.x.160)创建Kubernetes集群。 我能够通过此链接成功创建留言簿应用程序:http://kubernetes.io/v1.0/examples/guestbook/.我只对frontend-service.yaml做了一个更改:使用NodePort。我可以使用节点IP和端口号
任何关于直接远程访问(不使用ssh->kubectl代理来避免在Kubernetes节点上进行用户管理)的详细实用指南都将不胜感激。:) 更新: 只是想说清楚点。这是在前提部署中的裸机(没有GCE、AWZ、Azure或任何其他),而且有些环境将完全脱机(这将增加获得安装包的额外问题)。 因此,当我在Kubernetes上设置入口时,我无法创建将443重定向到6443的防火墙规则。似乎唯一的选择是创
我正在尝试访问一个运行在Openshift吊舱中的Flask服务器。 为此,我创建了如下服务。 1)首先,我豆荚ping到另一个豆荚并得到响应。 但是,当我尝试时,它没有响应。 2) 之后,我尝试从一个pod访问集群IP。在这种情况下,都不可访问。 请告诉我哪里出错了。为什么上面的情况#1,#2失败。如何访问集群IP服务。 我对服务和访问服务完全陌生,因此我可能缺少一些基础知识。 我回答了其他问题
WeX5.Baas服务详解 视频地址:http://pan.baidu.com/s/1jHB5XMA baas.net 版:Bass for .NET 1 概述 本案例实现了对takeout_order(外卖订单表)表的分页查询、关键字检索和修改保存的能力,数据库表结构参见WeX5自带的mysql数据库。 案例代码分为服务端和客户端两部分: 服务端包含一个servlet(com.