メインコンテンツまでスキップ

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 필요함.

    1. 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

    2. 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
    3. Ingress controller Deployment에 위 configmap 설정 추가

      spec:
      containers:
      - args:
      - /nginx-ingress-controller

      - '--tcp-services-configmap=jenkins/selenium-hub-tcp-services'
    4. devtools 서비스 사용이 안될 경우 selenium-node-config의 SE_NODE_GRID_URL이 정상적으로 접근 되는 URL 인지 확인한다.

  • 외부 노드에서 hub로 접속하는 방법