前提条件
确保已执行以下操作:
1、添加虚拟机服务到网格,即已创建v1版本的WorkloadEntry、ServiceEntry。
2、创建VirtualService、DestinationRule。
3、创建负载均衡实例,要求所属VPC为集群所在的VPC。
创建Loadbalancer服务
1、登录云容器引擎控制台:在“集群管理”页面单击集群名称,进入集群详情页。
2、选择资源和服务发现:在左侧导航栏选择“资源 > 服务发现”,选择命名空间“istio-system”,单击右上角“YAML创建”。
3、输入以下内容:
apiVersion: v1 kind: Service metadata: name: <vm-server1>-gw-svc namespace: istio-system annotations: kubernetes.io/elb.class: <ELB_TYPE> kubernetes.io/elb.id: <ELB_ID> service.protal.kubernetes.io/type: LoadBalancer spec: ports: name: http protocol: TCP port: <345> targetPort: <2050> selector: app: istio-ingressgateway istio: ingressgateway type: LoadBalancer sessionAffinity: None loadBalancerIP: <ELB_IP> externalTrafficPolicy: Cluster
参数 | 说明 |
| 虚拟机服务名称 |
| 负载均衡类型,可设置为union(共享型)或performance(独享型) |
| ELB实例ID |
| 服务port |
| 服务targetPort |
| ELB实例的弹性IP |
4、完成创建:单击“确定”完成创建。
创建Gateway资源
1、登录应用服务网格控制台:单击服务网格的名称,进入网格详情页面。
2、选择资源管理:在左侧导航栏选择“网格配置”,单击“istio资源管理”页签。
3、选择Gateway资源:选择“istio资源:gateways”,命名空间选择“istio-system”,单击“创建”。
4、输入以下内容:
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: annotations: asm/elbPort: '<345>' asm/gatewaySvc: <vm-server1>-gw-svc.istio-system name: <vm-server1>-gw namespace: istio-system spec: selector: istio: ingressgateway servers: hosts: <ELB_IP> port: name: http number: <2050> protocol: http
参数 | 说明 |
| 虚拟机服务名称 |
| 对外端口(同创建Loadbalancer服务中的服务port) |
| ELB实例的公网IP或域名 |
| 同创建Loadbalancer服务中的服务targetPort |
5、完成创建:单击“确定”完成创建。
创建VirtualService资源
1、登录应用服务网格控制台:单击服务网格的名称,进入网格详情页面。
2、选择资源管理:在左侧导航栏选择“网格配置”,单击“istio资源管理”页签。
3、选择VirtualService资源:选择“istio资源:virtualservices”,命名空间选择“istio-system”,单击“创建”。
4、输入以下内容:
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: <vm-server1>-root-vs namespace: istio-system spec: gateways: istio-system/<vm-server1>-gw hosts: <ELB_IP> http: delegate: name: <vm-server1-8080> namespace: <vmns> match: uri: prefix: /test delegate: name: <vm-server1-8080> namespace: <vmns> match: uri: prefix: /
参数 | 说明 |
| 虚拟机服务名称 |
| ELB实例的公网IP或域名 |
| VirtualService name |
| VirtualService namespace |
5、完成创建:单击“确定”完成创建。
相关问题与解答
1、问题一:如何判断目标端口(targetPort)是否被占用?
回答:登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面,在左侧导航栏选择“网格配置”,单击“istio资源管理”页签,选择“istio资源:gateways”,命名空间选择“istio-system”,查看Gateway资源的YAML文件中server的port.number值,如果port小于1025,targetPort需要设置为未被占用且范围为1025~65535的值;如果port大于等于1025,则targetPort可直接设置为port值。
2、问题二:如何在Linux中设置永久路由?
回答:可以使用以下命令将路由信息写入文件:
“`bash
# vi /etc/sysconfig/network-scripts/route-eth0
“`
然后添加以下内容:
“`bash
192.168.0.0/16 via 172.16.0.1 dev eth0
“`
保存并退出,最后重启网络服务:
“`bash
systemctl restart network
“`
到此,以上就是小编对于“虚拟机和vps_虚拟机服务添加网关和路由”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1128617.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复