查看部署的pods
kubectl get pods -n istio-system
NAME READY STATUS RESTARTS AGE
istio-citadel-f78ff689-7kk7z 1/1 Running 0 12d
查看default配置文件详细信息(通常用于生产环境)
istioctl profile dump default
查看demo配置文件子集
istioctl profile dump --config-path trafficManagement.components.pilot demo
安装 demo 配置文件
istioctl manifest apply --set profile=demo
查看所有的svc
kubectl get svc -n istio-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-citadel ClusterIP 10.109.206.48 8060/TCP,15014/TCP 12d
查看指定的svc, 如集群中运行着 prometheus 服务。
kubectl -n istio-system get svc prometheus
检查环境变量 INGRESS_HOST and INGRESS_PORT。确保环境变量的值有效,命令如下:
echo INGRESS_HOST=$INGRESS_HOST, INGRESS_PORT=$INGRESS_PORT
检查没有在相同的端口上定义其它 Istio ingress gateways:
kubectl get gateway --all-namespaces
检查没有在相同的 IP 和端口上定义 Kubernetes Ingress 资源:
kubectl get ingress --all-namespaces
运行以下命令以应用 virtual services:
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml
手工注入yaml文件到自定义命名空间
kubectl create ns foo
kubectl apply -f <(istioctl kube-inject -f samples/httpbin/httpbin.yaml) -n foo
使用以下命令显示已定义的路由:
kubectl get virtualservices -o yaml
如确认reviews规则已创建:
kubectl get virtualservice reviews -o yaml
您还可以使用以下命令显示相应的 subset 定义:
kubectl get destinationrules -o yaml
移除任何还在运行的 kubectl port-forward 程序:
killall kubectl
pod_name = kind + apiVersion(除最后一级路径) + metadata.name
清除配置流量
kubectl delete kind metadata.name
部署 Istio egress gateway, 检查 Istio egress gateway 是否已布署:
kubectl get pod -l istio=egressgateway -n istio-system
如果没有 pod 返回,通过接下来的步骤来部署 Istio egress gateway。
执行以下命令:
istioctl manifest apply --set values.global.istioNamespace=istio-system \
--set values.gateways.istio-ingressgateway.enabled=false \
--set values.gateways.istio-egressgateway.enabled=true