-
Notifications
You must be signed in to change notification settings - Fork 7.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
image: auto
in istio-ingress/templates/injected-deployment.yaml
#35789
Comments
The |
Thanks for the clarification! Is this documented anywhere? The mechanisms for gateway injection aren't as clear as they are for sidecars. I'm working with a pipeline that doesn't allow pulling images from public sources (in this case, what it thinks is docker.io in the manifest, pre-injection). So if i were to replace
similar to the non-injected ingressgateway deployment, will injection still work as intended? Followup question: where is the "actual image" configured in the case of gateway injection? I'm assuming it pulls the configuration from to answer your question, this deployment was attempted in a namespace with |
No, you should not make that change. You should configure global.proxy.image in the control plane installation. https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#customizing-injection describes this a bit but I think we can make the doc more explicit |
thanks for the docs 👍 this clarifies things better. is there a recommended way to set our own placeholder that isn't |
Currently hardcoded |
what is the solution of this issue |
🚧 This issue or pull request has been closed due to not having had activity from an Istio team member since 2021-11-01. If you feel this issue or pull request deserves attention, please reopen the issue. Please see this wiki page for more information. Thank you for your contributions. Created by the issue and PR lifecycle manager. |
@tokiwong a little late here, but if you haven't figured it out, it is defined in |
In my case (Istio Helm Chart with ArgoCD), It was not I think that So I have to sync both charts, |
in my case, istio-proxy container is not sidecar injected even though the
It seems that it is a version issue of validating webhook, so I removed it like:
and re-install istiod with helm, and injection works! |
@DPS0340, great this one saved me but how can it be approached in automated matter, I guess sync waves is the answer but need to shuffle through for helm example idea. |
My team has had the same issue, which forced us to use sync waves (effectively multiple charts, installed in a particular order). After some deliberation, we went down a different path - creating a Job, that will delete the istio proxy pod, which immediately gets reprovisioned with the right image injected into it. Below is what it looks like. It would have been fantastic to have this somehow handled by istio...
|
For anyone else having this issue but using terraform to deploy the charts. you HAVE to have the |
Not sure this should be added to this discussion or not, but using the comment from: #35789 (comment) Led me in the right direction for using GCPs config sync and their annotations for dependencies. Adding this:
To:
In the latest helm chart allows us to use the configuration sync without errors. Not sure that folks can use the same in their deployment methodology, but it is noteworthy to add here. Please feel free to direct me to a discussion! |
@danielsiwiec your config helped a lot. I modified it with Helm hooks to clean up the resources after install. Here is an "all-in-one" simple/starter Istio Helm chart that deploys base, istio-cni, istiod, and gateway: Chart.yaml apiVersion: v1
appVersion: 1.20.0
description: Helm chart for deploying Istio
name: istio
sources:
- https://github.com/istio/istio
version: 1.0.0
dependencies:
- name: base
repository: https://istio-release.storage.googleapis.com/charts
version: 1.20.0
- name: cni
repository: https://istio-release.storage.googleapis.com/charts
version: 1.20.0
- name: istiod
repository: https://istio-release.storage.googleapis.com/charts
version: 1.20.0
- name: gateway
repository: https://istio-release.storage.googleapis.com/charts
version: 1.20.0 values.yaml gateway:
name: istio
istiod:
istio_cni:
enabled: true templates/job.yaml apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
name: istio-proxy-restarter
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
name: istio-proxy-restarter
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["delete", "get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
name: istio-proxy-restarter
subjects:
- kind: ServiceAccount
name: istio-proxy-restarter
roleRef:
kind: Role
name: istio-proxy-restarter
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
name: restart-istio-proxy
spec:
template:
spec:
serviceAccountName: istio-proxy-restarter
containers:
- name: kill-pod
image: bitnami/kubectl:latest
command:
- kubectl
args:
- delete
- pod
- -l app={{ .Values.gateway.name }}
initContainers:
- name: wait-for-istio
image: bitnami/kubectl:latest
command: ["sh", "-c", "kubectl wait pods -l app=istiod --for condition=Ready"]
restartPolicy: OnFailure |
Bug Description
istio/manifests/charts/gateways/istio-ingress/templates/injected-deployment.yaml
Line 71 in 243d3b6
Injected istio-ingressgateway Image attempts to pull from
docker.io/library/auto:latest
which doesn't seem to existThis in contrast to the image defined in
istio-ingress/template/deployment.yaml
Version
Additional Information
The text was updated successfully, but these errors were encountered: