The following is an example of config.yaml file which can be used to install istio with customized parameters:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
name: istiod
namespace: istio-system
spec:
components:
pilot:
enabled: true
k8s:
overlays:
- kind: Deployment
name: istiod
patches:
- path: spec.template.spec.containers.[name:discovery].args.[100]
value: --grpcAddr=:15020
- path: spec.template.spec.containers.[name:discovery].ports.[containerPort:15010]
value:
containerPort: 15020
protocol: TCP
- kind: Service
name: istiod
patches:
- path: spec.ports.[port:15010]
value:
port: 15020
name: grpc-xds
protocol: TCP
In the above example, the changes have been made based on yaml files like the following, the patch first added a new entry to the args list, then changed a containerPort from 15010 to 15020, the last one also replaced port in the service.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: istiod
namespace: istio-system
spec:
template:
spec:
containers:
- args:
- discovery
- --monitoringAddr=:15014
- --log_output_level=default:info
- --domain
- cluster.local
- --keepaliveMaxServerConnectionAge
- 30m
env:
- name: REVISION
value: default
- name: JWT_POLICY
value: third-party-jwt
.
.
.
image: docker.io/istio/pilot:1.10.2
name: discovery
ports:
- containerPort: 8080
protocol: TCP
- containerPort: 15010
protocol: TCP
- containerPort: 15017
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
labels:
app: istiod
install.operator.istio.io/owning-resource: unknown
istio: pilot
istio.io/rev: default
operator.istio.io/component: Pilot
release: istio
name: istiod
namespace: istio-system
spec:
ports:
- name: grpc-xds
port: 15010
protocol: TCP
- name: https-dns
port: 15012
protocol: TCP
- name: https-webhook
port: 443
protocol: TCP
targetPort: 15017
No comments:
Post a Comment