SeGrid
Selenium Grid 설정
-
Selenium Grid helm chart https://github.com/SeleniumHQ/docker-selenium/blob/trunk/charts/selenium-grid/README.md
-
Node Deployment의 max concurrency 설정 변경
spec:
containers:
- env:
- name: SE_NODE_MAX_SESSIONS
value: "3"
- name: SE_NODE_OVERRIDE_MAX_SESSIONS
value: "true" -
외부 노드 추가
-
ingress에서 tcp 4444, 4442, 4443 Expose 필요함.
-
configmap에 해당 내용 추가
apiVersion: v1
data:
'4442': jenkins/selenium-hub:4442
'4443': jenkins/selenium-hub:4443
kind: ConfigMap
metadata:
creationTimestamp: '2023-09-01T07:29:19Z'
managedFields: <생략>
name: selenium-hub-tcp-services
namespace: jenkins
resourceVersion: '146411402'
uid: 286d5a55-c34b-40a8-b482-93d4503612ab -
Ingress controller Service에 port 설정 추가
- name: proxied-tcp-4442
nodePort: 30161
port: 4442
protocol: TCP
targetPort: 4442
- name: proxied-tcp-4443
nodePort: 32092
port: 4443
protocol: TCP
targetPort: 4443 -
Ingress controller Deployment에 위 configmap 설정 추가
spec:
containers:
- args:
- /nginx-ingress-controller
- '--tcp-services-configmap=jenkins/selenium-hub-tcp-services' -
devtools 서비스 사용이 안될 경우 selenium-node-config의 SE_NODE_GRID_URL이 정상적으로 접근 되는 URL 인지 확인 한다.
-
-
외부 노드에서 hub로 접속하는 방법
- https://www.selenium.dev/downloads/ 에서 Selenium Server 다운로드 (grid hub랑 동일한 버전으로 설치 권장)
- 외부 노드에 Java 11 이상 설치
- 해당 명령어 실행 java -jar selenium-server-4.11.0.jar node --hub https://devsegrid.softcamp.co.kr/grid/register/
- 노드가 붙는지 확인