【问题标题】:Error: template: inject:469: function "appendMultusNetwork" not defined错误:模板:注入:469:未定义函数“appendMultusNetwork”
【发布时间】:2021-02-14 09:24:26
【问题描述】:
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/

【问题讨论】:

  • 你的 istio 版本是多少?您是否更改了上述配置中的任何内容?我已经在使用 istio 1.7.3 的测试集群的文档中尝试了该示例,并且一切正常。

标签: kubernetes istio istio-kiali istio-sidecar


【解决方案1】:

如 cmets 中所述,我已尝试在安装了 istio 1.7.4 的 gke 上重现您的问题。

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


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

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

2.创建samples/sleep目录并创建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,你应该遵循旧版本 documentation?
  • 也许您更改了上述本地副本中的某些内容 配置,导致问题?如果你做了什么,你到底改变了什么?

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多