Closed karezza closed 2 years ago
I can exec into the pms* pod and see it is writing to the /transcode folder:
-rw-r--r-- 1 root root 120037 Sep 15 19:29 chunk-stream1-00084.m4s
-rw-r--r-- 1 root root 41339 Sep 15 19:29 chunk-stream1-00085.m4s
-rw-r--r-- 1 root root 804 Sep 15 19:28 init-stream0.m4s
-rw-r--r-- 1 root root 740 Sep 15 19:28 init-stream1.m4s
root@pms-elastic-transcoder-sqvqz--1-qj4fs:/transcode/Transcode/Sessions/plex-transcode-q8qeigtvwinsahkki3e0809g-11bb8219-fc96-47c5-aeab-582de8a29d42#
Yet, there are no files in the /transcode folder on the plex pod:
root@plex-kube-plex:/transcode/Transcode/Sessions/plex-transcode-q8qeigtvwinsahkki3e0809g-11bb8219-fc96-47c5-aeab-582de8a29d42# ls -l
total 0
root@plex-kube-plex:/transcode/Transcode/Sessions/plex-transcode-q8qeigtvwinsahkki3e0809g-11bb8219-fc96-47c5-aeab-582de8a29d42#
In examining each pod I see in the volumes section that both 'shared' and 'transcode' is an 'emptyDir', this expected?
"volumes": [
{
"emptyDir": {},
"name": "shared"
},
{
"name": "data",
"persistentVolumeClaim": {
"claimName": "plex"
}
},
{
"emptyDir": {},
"name": "transcode"
},
I installed telnet on the pms-elastic pod and tested the host/port combinations I see when I run 'ps ax'. Looks like I can reach the specified server/port combinations.
root@pms-elastic-transcoder-4sz7s--1-bvdzc:/transcode/Transcode/Sessions/plex-transcode-2gqqirgh41v7w743kp1ksh1y-dfd41580-b3f8-4335-b65f-dd7295912ddb# ps ax
PID TTY STAT TIME COMMAND
1 ? Ssl 0:00 /shared/transcode-launcher --pms-addr=plex-kube-plex:32400 --listen=:32400 --codec-server-url=http://172.24.123.87:39069/ --codec
10 ? S 0:00 /usr/lib/plexmediaserver/Plex Transcoder -codec:0 h264 -ss 0 -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i /d
12 pts/0 Ss 0:00 /bin/bash
371 pts/0 R+ 0:00 ps ax
root@pms-elastic-transcoder-4sz7s--1-bvdzc:/transcode/Transcode/Sessions/plex-transcode-2gqqirgh41v7w743kp1ksh1y-dfd41580-b3f8-4335-b65f-dd7295912ddb# telnet plex-kube-plex 32400
Trying 10.103.42.86...
Connected to plex-kube-plex.plex.svc.cluster.local.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
root@pms-elastic-transcoder-4sz7s--1-bvdzc:/transcode/Transcode/Sessions/plex-transcode-2gqqirgh41v7w743kp1ksh1y-dfd41580-b3f8-4335-b65f-dd7295912ddb# telnet 172.24.123.87 39069
Trying 172.24.123.87...
Connected to 172.24.123.87.
Escape character is '^]'.
I thought I may have found the answer with this in the values.yaml (see below), but after uncommenting and reinstalling, still same result.
# Mounts which should be carried over to kube-plex transcoder. By default only
# /data and /transcode are cloned to the transcoding pod. A comma separated list.
#
#mounts: /data,/transcode
This may be the issue:
https://hub.docker.com/r/plexinc/pms-docker/ (Plex Pass only) After the server has been set up, you should configure the LAN Networks preference to contain the network of your LAN. This instructs the Plex Media Server to treat these IP addresses as part of your LAN when applying bandwidth controls. The syntax is the same as the ALLOWED_NETWORKS below. For example 192.168.1.0/24,172.16.0.0/16 will allow access to the entire 192.168.1.x range and the 172.16.x.x range.
I have not purchased a plex pass.
Do you have your transcode volume set up to be a shared storage? It sounds like it might be an emptyDir or something similar and the contents of the volume doesn't get shared between Plex and the transcoder.
The second issue of the ALLOWED_NETWORKS is something I was thinking about the other day and it should be possible to get rid of that requirement by modifying the traffic flow a bit.
The transcode was just the default, which didn't include creating a transcode pvc. I have experimented with creating one without any luck.
I don't know how to check if the default emptyDir's are shared between the two pods. I would expect that to be the case with everything being default in the helm install, but maybe something is missing in the default setup.
My guess now is the problem is because I haven't yet paid for a plex pass and ALLOWED_NETWORKS is breaking it, so if there is a way to set things up to not require that it would be nice to have. Would certainly simplify the setup to have one less step for folks new to the project.
An emptyDir is never shared between two pods, the way how emptyDir works is that it creates an empty directory for the pod whenever a pod starts and the contents is deleted afterwards. I improved the documentation a bit in #14
Could you take a look to see if those clarifications would improve your experience too?
I had a similar issue but I thought it was that one of the pods (either transcode or "main" plex pod, I don't remember which) wasn't mounting the transcode dir from my NFS service. A quick glance at the helm chart seemed to say that it fails over to an emptydir.
To my understanding, both the "main" plex container and the transcode container should mount /transcode from the same place.
Unfortunately I ran out of time and couldn't debug further at the time. I'll post back here when I get back to it though.
With one more addition:
persistence:
transcode:
enabled: true
it worked
Perfect, updated the readme to match with the comments here. Thanks for flagging this!
Does this error message indicate that I have not allowed the right IP addresses (from the output at Server->Manage->Console)?
I used the following commands and added the two ip ranges:
Seeing things in action: