3
istioctl kube-inject \
--injectConfigFile inject-config.yaml \
--meshConfigFile mesh-config.yaml \
--valuesFile inject-values.yaml \
--filename samples/sleep/sleep.yaml \
| kubectl apply -f -

在尝试手动将 istio sidecar 容器注入 pod 时。我有错误 -

错误:模板:注入:469:未定义函数“appendMultusNetwork”

https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/

4

1 回答 1

1

正如评论中提到的,我试图在安装了 istio 1.7.4 的 gke 上重现您的问题。

我已按照您提到的文档进行操作,并且没有任何问题。


1.安装 istioctl 和 istio 默认配置文件

curl -sL https://istio.io/downloadIstioctl | sh -
export PATH=$PATH:$HOME/.istioctl/bin
istioctl install

samples/sleep2.创建目录并创建sleep.yaml ,例如使用 vi

3.创建配置的本地副本。

kubectl -n istio-system get configmap istio-sidecar-injector -o=jsonpath='{.data.config}' > inject-config.yaml
kubectl -n istio-system get configmap istio-sidecar-injector -o=jsonpath='{.data.values}' > inject-values.yaml
kubectl -n istio-system get configmap istio -o=jsonpath='{.data.mesh}' > mesh-config.yaml

4.使用 istioctl kube-inject 应用它

istioctl kube-inject \
    --injectConfigFile inject-config.yaml \
    --meshConfigFile mesh-config.yaml \
    --valuesFile inject-values.yaml \
    --filename samples/sleep/sleep.yaml \
    | kubectl apply -f -

5.验证sidecar是否已经注入

kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
sleep-5768c96874-m65bg   2/2     Running   0          105s

所以有几件事值得检查,因为它可能会导致这个问题::

  • 您能否检查一下您是否正确执行了所有命令?
  • 也许你运行的是旧版本的 istio,你应该遵循旧的 文档
  • 也许您更改了上述本地配置副本中的某些内容并导致了问题?如果你做了什么,你到底改变了什么?
于 2020-11-09T10:49:20.857 回答