-
Notifications
You must be signed in to change notification settings - Fork 222
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
Installation error when installing Trident plug-in in Private registry environment #215
Comments
hi expert same body help check above trident install issue? thanks frank |
If the private registry requires login to pull then the customer will need to either login before running install (if the login is persistent) or they will need to manually pull the images to their local docker cache prior to running trident install |
@adkerr Pre-login is a possible way in a docker. In k8s, login authentication information is managed as "imagePulseSecret" and dynamically transmits this information to the docker when running the pod, so even if it is docker login, it ignores it. My customer thinks this issue as below. If I can run with custom yaml, I can modify all the problematic parts and reflect them, so it will be solved if you guide the correct way to run with custom yaml. Thanks |
This document goes into the customized installation options available: Use tridentctl's --generate-custom-yaml option to create the YAML files. Edit them, then use tridentctl's --use-custom-yaml option to install a customized version of Trident.
|
Occured error as below.
Normal Scheduled 3m56s default-scheduler Successfully assigned trident/trident-installer to node2 |
@iamhyuk Changing the image in trident-deployment.yaml doesn't change the image for the containerized installer and that's the problem you're hitting. However, using @clintonk, is there a way to customize the containerized installer without changing the source code? |
Trident's custom installation method (--generate-custom-yaml and --use-custom-yaml) should work in this case. All of the custom YAML files are passed into the containerized installer in a configmap. But passing the image names to the installer should work equally well. |
@clintonk The problem is changing the image in Line 1649 in 459b11d
It seems you have to customize the yamls AND specify the command line option. |
@kangarlou Good point, you're correct about that. Trident and its installer use the very same image, but one must invoke the installer with |
@clintonk They would like to use the "--use-custom-yaml" to pass on the ImagePullSecret. So do you think if they use the customized yaml file and the "--trident-image" command line , the install should go through successfully? |
@jacobjohnanda I don't see why not. |
NAME READY STATUS RESTARTS AGE This is in a cluster that cannot access the internet, and needs to pull images from a priv repo that requires login. The command I used to get this error is ./tridentctl install -n trident --use-custom-yaml --trident-image /pub/netapp/trident:19.01.0 --etcd-image /pub/netapp/etcd:v3.3.12 Normally, the repo requires an imagepullsecret. But, they dont seem to work with the "installer". I get the error "repository does not exist or may require 'docker login'" Before that, I tried caching the images on each of my workers and some other tagging trickery, but the "installer" kept trying to reach out to docker.io Specifying the tridnet and etcd images seems like its the right work around for all of this. Can you elaborate on what unknown flag: --trident-image means, and how to get around? |
I am just guessing "netapp/trident:19.01.0" format is causing the build to be pulled from docker.io. Could you try the format [registry hostname]:[registry port]/trident:19.01.0 . |
Sorry, I had removed the domain names for the purpose of posting here. I am using the full url. I was able to get this installed this after doing a couple things. First was going back to 18.10. I modified the 19.01 image so that I could exec in there and see what the hang up was. It looks like the tridentctl binary does not have the flags that the 18.10 binary had. Specifically, 19.01 is missing --trident-image and --etcd-image. Next is security stuff related to my cluster. I noticed the installer and the actual trident container have their own labels. So, I needed a selector for each in my network policies. Then I had to put the images in a non-password protected area of my repo. |
I did give a try and I was able to install using the --trident-image with Trident 19.01 installer. |
[Problem]
[Providing guides]
• follow below youtube link offline install trident,after pulling two docker image (netapp/trident:18.10.0, quay.io/coreos/etcd:v3.2.19) to local repository then install with below command.
• e) # ./tridentctl install -n trident --trident-image tacorepo:5000/netapp/trident:18.10.0 --etcd-image tacorepo:5000/quay.io/coreos/etcd:v3.2.19 -d
• https://www.youtube.com/watch?v=_T3_JntptKA
[Customer Action#1]
• follow below install guide while generate error。
o https://netapp.io/2018/12/19/installing-trident-from-a-private-registry/
• follow above URL link but failed during generate POD。
• 1) after run install command - stuck in Waiting for Trident installer pod to start. then generate error
• [root@k8s-master trident-installer]# ./tridentctl install -n trident --trident-image sds.redii.net/jamessc-cho/trident:18.10.0 --etcd-image sds.redii.net/jamessc-cho/etcd:v3.3.9
INFO Created namespace. namespace=trident
INFO Created installer service account. serviceaccount=trident-installer
INFO Created installer cluster role. clusterrole=trident-installer
INFO Created installer cluster role binding. clusterrolebinding=trident-installer
INFO Created installer configmap. configmap=trident-installer
INFO Created installer pod. pod=trident-installer
INFO Waiting for Trident installer pod to start.
ERRO Trident installer pod was not started after 180.00 seconds. Pod status is Pending. Use 'kubectl describe pod trident-installer -n trident' for more information.
INFO Deleted installer cluster role binding.
INFO Deleted installer cluster role.
INFO Deleted installer service account.
FATA Install failed; pod not yet started (Pending). Resolve the issue; use 'tridentctl uninstall' to clean up; and try again.
•
• 2) Pod state is ImagePullBackOff
[root@k8s-master ~]# kubectl get pod -n trident -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
trident-installer 0/1 ImagePullBackOff 0 10m 10.44.0.14 k8s-worker1
• 3) when check POD event can found error “no basic auth credentials”
• [root@k8s-master ~]# kubectl describe pod trident-installer -n trident
• (.... skip ....)
• Events:
Type Reason Age From Message
Normal Scheduled 10m default-scheduler Successfully assigned trident/trident-installer to k8s-worker1
Normal Pulling 8m43s (x4 over 10m) kubelet, k8s-worker1 pulling image "sds.redii.net/jamessc-cho/trident:18.10.0"
Warning Failed 8m43s (x4 over 10m) kubelet, k8s-worker1 Failed to pull image "sds.redii.net/jamessc-cho/trident:18.10.0": rpc error: code = Unknown desc = Error response from daemon: Gethttps://sds.redii.net/v2/jamessc-cho/trident/manifests/18.10.0: no basic auth credentials
Warning Failed 8m43s (x4 over 10m) kubelet, k8s-worker1 Error: ErrImagePull
Normal BackOff 8m19s (x6 over 10m) kubelet, k8s-worker1 Back-off pulling image "sds.redii.net/jamessc-cho/trident:18.10.0"
Warning Failed 4m59s (x20 over 10m) kubelet, k8s-worker1 Error: ImagePullBackOff
[Customer Action #2]
• Attached YAML file that is used by customer during installation (The YAML file is to pull the image to create the POD in customer’s Private Registry environment)
• follow below link install trident with YAML file, URL “4. Install Trident – Customized Installation”
o https://netapp-trident.readthedocs.io/en/stable-v19.01/kubernetes/troubleshooting.html#troubleshooting
Step1: --generate-custom-yaml option generate yaml file then below yaml file will generate.
• [root@k8s-master ~]# ll /tmp/trident-installer/setup/
합계 28
-rwxrwxrwx 1 1001 1001 206 10월 23 06:01 backend.json
-rwxrwxrwx 1 root root 728 2월 20 02:59 trident-clusterrole.yaml
-rwxrwxrwx 1 root root 255 2월 20 02:59 trident-clusterrolebinding.yaml
-rwxrwxrwx 1 root root 1926 2월 20 04:23 trident-deployment.yaml
-rwxrwxrwx 1 root root 61 2월 20 02:59 trident-namespace.yaml
-rwxrwxrwx 1 root root 297 2월 20 02:59 trident-pvc.yaml
-rwxrwxrwx 1 root root 66 2월 20 02:59 trident-serviceaccount.yaml
• Step2: change trident-deployment.yaml file which match private registry (attach yaml file)
• what
trident-deployment.zip
have changed
imagePullSecrets:
- name: redii
image: sds.redii.net/jamessc-cho/trident:18.10.0
image: sds.redii.net/jamessc-cho/etcd:v3.3.9
The text was updated successfully, but these errors were encountered: