Six exciting enhancements in Istio 1.4.0
Istio 1.4.0 was released on November 14th and it came with a lot of new features and enhancements. In this article I go through my favorite six improvements, including the new and simple way of installing Istio and opening dashboards.
1. Check if your cluster is ready for Istio
verify-install
command is a helpful thing you should run before you start installing Istio. By default, the command checks your cluster and reports whether your cluster is ready for Istio installation.verify-install
command to check whether your Istio deployment matches a custom deployment configuration (i.e. a YAML file). The verify-install
command checks everything in the provided YAML file matches the actual deployment on your cluster. If it doesn't, it will let you know - for example:istioctl verify-install -f istio-install.yaml
ClusterRole: istio-reader-istio-system.default checked successfully
ClusterRoleBinding: istio-reader-istio-system.default checked successfully
...
ClusterRoleBinding: istio-galley-admin-role-binding-istio-system.default checked successfully
Error: Istio installation failed, incomplete or does not match "test.yaml" - the required ConfigMap:galley-envoy-config is not ready due to: configmaps "galley-envoy-config" not found
2. Simplified installation with manifest command
manifest
. You can use the manifest command to generate, apply, diff, or migrate Istio manifests. Here's a one-liner for installing Istio 1.4.0 with Demo profile:istioctl manifest apply --set profile=demo
profile
variable value to one of these:- minimal
- remote
- sds
- default
- demo
istioctl profile list
.3. Installing with Istio operator (Experimental)
kubectl apply -f https://istio.io/operator.yaml
istio-operator
namespace and deploys the operator. With the operator deployed, you can apply the IstioControlPlane
resource to install Istio with the demo profile:cat <<EOF | kubectl apply -f -
apiVersion: install.istio.io/v1alpha2
kind: IstioControlPlane
metadata:
namespace: istio-operator
name: my-istio-control-plane
spec:
profile: demo
EOF
IstioControlPlane
resource, it begins installing Istio.IstioControlPlane
resource. For example, to make updates or changes to the current installation of Istio, you need to modify and re-deploy the IstioControlPlane
resource - move from demo
to minimal
installation:cat <<EOF | kubectl apply -f -
apiVersion: install.istio.io/v1alpha2
kind: IstioControlPlane
metadata:
namespace: istio-operator
name: my-istio-control-plane
spec:
profile: demo
EOF
Note
Check out "Kubernetes CLI (kubectl) tips you didn't know about" to learn more about thekubectl
command.
4. Quickly open dashboards
dashboard
command you can quickly open Web UIs of any deployed dashboards:istioctl dashboard grafana
istioctl d prometheus
5. Mirror percentage of the traffic
mirror_percent
field, you can specify how much of the incoming traffic you want to mirror: mirror:
host: my-service
subset: v2
mirror_percent: 40