其他
如何将虚拟机里的服务接入Istio系统?
来源:https://segmentfault.com/a/1190000038799970
WorkloadEntry
apiVersion: networking.istio.io/v1alpha3
kind: WorkloadEntry
metadata:
name: vm1
namespace: ns1
spec:
address: 1.1.1.1
labels:
app: foo
instance-id: vm-78ad2
class: vm
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: svc1
namespace: ns1
spec:
hosts:
- svc1.internal.com
ports:
- number: 80
name: http
protocol: HTTP
resolution: STATIC
workloadSelector:
labels:
app: foo
VM自动注册
在安装istiod的时候,启用自动注册的功能。
$ istioctl install --set values.pilot.env.PILOT_ENABLE_WORKLOAD_ENTRY_AUTOREGISTRATION=true
部署一个east-west gateway。用于暴露istiod服务,从而可以让VM上的Sidecar 可以和istiod 通信。
apiVersion: networking.istio.io/v1alpha3
kind: WorkloadGroup
metadata:
name: python-http
namespace: vm
spec:
metadata:
annotations: {}
labels:
app: python-http
template:
ports: {}
serviceAccount: my-vm
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
name: vm-workload-svc
namespace: vm
spec:
hosts:
- vmservice.example.com
location: MESH_INTERNAL
ports:
- number: 80
name: http
protocol: HTTP
targetPort: 9090
resolution: STATIC
workloadSelector:
labels:
app: python-http
智能DNS
--set meshConfig.defaultConfig.proxyMetadata.ISTIO_META_DNS_CAPTURE=true
- END -
推荐阅读
K8s为啥要启用bridge-nf-call-iptables内核参数?用案例给你讲明白
K8s Nginx-ingress 控制器到底怎样实现的,这篇文章教你看明白了
DevOps CI/CD流程方案
Kubernetes 故障排查流程图
正确姿势配置 Pod 的 CPU和内存
Kubernetes YAML 学习,提升编写能力
Kubernetes 成本太高,生产环境必备3个降本增效方法!
生产环境中的 Kubernetes 最佳实践
60道常见的 Kubernetes 面试题总结
订阅,一起成长
K8s生态圈
点在看,K8s一年不出问题 👇