Istio ICA考试之路---5-2
- 1. 题目
- 2. 解题
- 3. 容易遇见的错误
- 3.1 错误1
- 3.2 错误2
1. 题目
Using Kubernetes context cluster-2
The httpbin workload is running with a client named sleep in the troubleshoot-1
namespace. Issue a service call from the sleep client.
kubectl exec -n troubleshoot-1 deploy/sleep -- curl --head httpbin:8000/headers
The result shows the following error:
curl: (56) Recv failure: Connection reset by peer
Command terminated with exit strong 56
2. 解题
执行
kubectl exec -n troubleshoot-1 deploy/sleep -- curl --head httpbin:8000/headers
出现报错
执行
kubectl get po -n troubleshoot-1
发现sleep的pod没有sidecar,那么编辑deployment确认没有加载sidecar原因
kubectl edit deployments.apps -n troubleshoot-1 sleep
再次执行命令,确认sleep变成2/2
kubectl get po -n troubleshoot-1
再次执行命令确认是否恢复正常
kubectl exec -n troubleshoot-1 deploy/sleep -- curl --head httpbin:8000/headers
3. 容易遇见的错误
3.1 错误1
练习时偶尔会因为复制粘贴的原因出现以下错误
error: error validating "5-1.yaml": error validating data: apiVersion not set; if you choose to ignore these errors, turn validation off with --validate=false
这个是因为进入vi后没有进入编辑模式直接粘贴造成的
3.2 错误2
练习时,经常会因为复制粘贴的原因造成某个值复制不完全.这种问题一般比较难发现.
一般分为2种:
- key的问题:
通常可以根据kubectl apply之后是否有报错,比如namespaces写成了namespace
-
value的问题:
oscorp-prod复制成了oscorp-pro或者scorp-prod
考试时候90%的关键字会用红色标出,在做完所有考题后,再次一一确认每题yaml中的各个值.
考试时间是完全充足的,足够检查和排错的时间.所以一定要仔细检查,因为复制和粘贴出错丢分就很可惜了 -
漏掉了某个配置
- 这个也只能通过核对题目检查yaml来完成,逐一仔细核对后一般不会有问题.这个一般是在练习阶段会频繁造成的失误.常见的配置漏改会有
- 漏掉namespace: 内容,一般编辑一个yaml文件我习惯先5gg编辑完namespace后再编辑其他行.检查时看到name:都会确认下一行是否定义了namespace:
- vs中漏掉gateways的指定,除了dr和vs那题基本每题配置vs时都要看下是否指定了gateways,全部做完后也可以执行以下命令来确认vs的绑定,再根据 题意一一核对
kubectl get vs -A
至此,ICA我考试遇到的内容都已经整理完毕.
整个考试2小时,实际耗时50分钟,由于准备较为充分基本没有遇到什么异常问题.