Getting this answer back on the list in case anyone else is trying to share storage.
Thanks for the docs pointer, Tanner. -John On Thu, Sep 7, 2017 at 6:50 PM, Tanner Bruce <tanner.br...@farmersedge.ca> wrote: > You can set a security context on your pod to set the guid as needed: > https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ > > > This should do what you need > > > Tanner > Configure a Security Context for a Pod or Container ... > <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/> > kubernetes.io > Edit This Page. Configure a Security Context for a Pod or Container. A > security context defines privilege and access control settings for a Pod or > Container. > > ------------------------------ > *From:* gluster-users-boun...@gluster.org <gluster-users-bounces@ > gluster.org> on behalf of John Strunk <jstr...@redhat.com> > *Sent:* September 7, 2017 2:28:50 PM > *To:* Gaurav Chhabra > *Cc:* gluster-users@gluster.org > *Subject:* Re: [Gluster-users] Redis db permission issue while running > GitLab in Kubernetes with Gluster > > I don't think this is a gluster problem... > > Each container is going to have its own notion of user ids, hence the > mystery uid 1000 in the redis container. I suspect that if you exec into > the gitlab container, it may be the one running as 1000 (guessing based on > the file names). If you want to share volumes across containers, you're > going to have to do something explicitly to make sure each of them (with > their own uid/gid) can read/write the volume, for example by sharing the > same gid across all containers. > > I'm going to suggest not sharing the same volume across all 3 containers > unless they need shared access to the data. > > -John > > > On Thu, Sep 7, 2017 at 12:13 PM, Gaurav Chhabra <varuag.chha...@gmail.com> > wrote: > >> Hello, >> >> >> I am trying to setup GitLab, Redis and PostgreSQL containers in >> Kubernetes using Gluster for persistence. GlusterFS nodes are setup on >> machines (CentOS) external to Kubernetes cluster (running on RancherOS >> host). Issue is that when GitLab tries starting up, the login page doesn't >> load. It's a fresh setup and not something that stopped working now. >> >> root@gitlab-2797053212-ph4j8:/var/log/gitlab/gitlab# tail -50 sidekiq.log >> ... >> 2017-09-07T11:53:03.099Z 547 TID-1fdf1k ERROR: Error fetching job: ERR Error >> running script (call to f_7b91ed9f4cba40689cea7172d1fd3e08b2efd8c9): >> @user_script:7: @user_script: 7: -MISCONF Redis is configured to save RDB >> snapshots, but is currently not able to persist on disk. Commands that may >> modify the data set are disabled. Please check Redis logs for details about >> the error. >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:121:in >> `call' >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/peek-redis-1.2.0/lib/peek/views/redis.rb:9:in >> `call' >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/redis-3.3.3/lib/redis.rb:2399:in >> `block in _eval' >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/redis-3.3.3/lib/redis.rb:58:in >> `block in synchronize' >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' >> 2017-09-07T11:53:03.100Z 547 TID-1fdf1k ERROR: >> /home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/redis-3.3.3/lib/redis.rb:58:in >> `synchronize' >> ... >> >> So i checked for Redis container logs. >> >> [root@node-a ~]# docker logs -f 67d44f585705 >> ... >> ... >> [1] 07 Sep 14:43:48.140 # Background saving error >> [1] 07 Sep 14:43:54.048 * 1 changes in 900 seconds. Saving... >> [1] 07 Sep 14:43:54.048 * Background saving started by pid 2437 >> [2437] 07 Sep 14:43:54.053 # Failed opening .rdb for saving: Permission >> denied >> ... >> >> Checked online for this issue and then noticed the following permissions >> and owner details *inside*of Redis pod: >> >> [root@node-a ~]# docker exec -it 67d44f585705 bash >> groups: cannot find name for group ID 2000 >> root@redis-2138096053-0mlx4:/# ls -ld /var/lib/redis/ >> drwxr-sr-x 12 1000 1000 8192 Sep 7 11:51 /var/lib/redis/ >> root@redis-2138096053-0mlx4:/# >> root@redis-2138096053-0mlx4:/# ls -l /var/lib/redis/ >> total 22 >> drwxr-sr-x 2 1000 1000 6 Sep 6 10:37 backups >> drwxr-sr-x 2 1000 1000 6 Sep 6 10:37 builds >> drwxr-sr-x 2 redis redis 6 Sep 6 10:14 data >> -rw-r--r-- 1 redis redis 13050 Sep 7 11:51 dump.rdb >> -rwxr-xr-x 1 redis redis 21 Sep 5 11:00 index.html >> drwxrws--- 2 1000 1000 6 Sep 6 10:37 repositories >> drwxr-sr-x 5 1000 1000 55 Sep 6 10:37 shared >> drwxr-sr-x 2 root root 8192 Sep 6 10:37 ssh >> drwxr-sr-x 3 redis redis 70 Sep 7 10:20 tmp >> drwx--S--- 2 1000 1000 6 Sep 6 10:37 uploads >> root@redis-2138096053-0mlx4:/# >> root@redis-2138096053-0mlx4:/# grep 1000 /etc/passwd >> root@redis-2138096053-0mlx4:/# >> >> Ran following and all looked fine. >> >> root@redis-2138096053-0mlx4:/# chown redis:redis -R /var/lib/redis/ >> >> However, when i deleted and ran the GitLab deployment YAML again, the >> permissions inside the Redis container *again* got skewed up. I am not >> sure whether Gluster is messing up with the Redis file/folders permissions >> but i can't think of any other reason >> except for mount. >> >> One thing i would like to highlight is that all the three containers are >> using the *same* PVC >> >> - name: gluster-vol1 >> persistentVolumeClaim: >> claimName: gluster-dyn-pvc >> >> Above is common for all three. What differs is shown below: >> >> a) postgresql-deployment.yaml >> >> volumeMounts: >> - name: gluster-vol1 >> mountPath: /var/lib/postgresql >> >> b) redisio-deployment.yaml >> >> volumeMounts: >> - name: gluster-vol1 >> mountPath: /var/lib/redis >> >> c) gitlab-deployment.yaml >> >> volumeMounts: >> - name: gluster-vol1 >> mountPath: /home/git/data >> >> Any suggestion? Also, i >> guess this is not >> the right way to use the same PVC/Storage Class for all three containers >> because i just noticed that all contents reside in the same dir inside >> Gluster nodes. >> >> I know there are many things involved besides Gluster so this may not be >> _the_ right forum but amongst all, my gut feeling is that Gluster might be >> the reason for the permission issue. >> >> >> _______________________________________________ >> Gluster-users mailing list >> Gluster-users@gluster.org >> http://lists.gluster.org/mailman/listinfo/gluster-users >> > >
_______________________________________________ Gluster-users mailing list Gluster-users@gluster.org http://lists.gluster.org/mailman/listinfo/gluster-users