github.com/NVIDIA/aistore@v1.3.23-0.20240517131212-7df6609be51d/deploy/dev/k8s/kube_templates/ci_proxy.yml (about)

     1  apiVersion: v1
     2  kind: Service
     3  metadata:
     4    name: ${POD_NAME}
     5    labels:
     6      app: ais
     7  spec:
     8    type: ClusterIP
     9    ports:
    10      - port: ${PORT}
    11        targetPort: ${PORT}
    12        protocol: TCP
    13        name: http
    14    selector:
    15      app: ais
    16      type: ais-proxy
    17  ---  
    18  apiVersion: v1
    19  kind: Pod
    20  metadata:
    21    name: ${POD_NAME}
    22    labels:
    23      app: ais
    24      type: ais-proxy
    25  spec:
    26    containers:
    27    - name: aisnode
    28      image: ${AISNODE_IMAGE}
    29      imagePullPolicy: IfNotPresent
    30      livenessProbe:
    31        httpGet:
    32          path: /v1/health
    33          port: ${PORT}
    34          scheme: ${PROTOCOL}
    35        initialDelaySeconds: 60
    36        periodSeconds: 10
    37      readinessProbe:
    38        httpGet:
    39          path: /v1/health?readiness=true # Don't require the whole cluster to be ready
    40          port: ${PORT}
    41          scheme: ${PROTOCOL}
    42        initialDelaySeconds: 10
    43        failureThreshold: 5
    44        periodSeconds: 5
    45      env:
    46        - name: MY_NODE
    47          valueFrom:
    48            fieldRef:
    49              fieldPath: spec.nodeName
    50        - name: AIS_NODE_ROLE
    51          value: "proxy"
    52      volumeMounts:
    53       - name: aws-credentials
    54         mountPath: /root/.aws/
    55       - name: ais-tls-certs
    56         mountPath: /var/certs
    57       - name: ais-logs
    58         mountPath: ${AIS_LOG_DIR}
    59      ports:
    60        - containerPort: ${PORT}
    61      command: ["bash","-c"]
    62      args:
    63        - export PORT=${PORT} &&
    64          export HOSTNAME_LIST=${HOSTNAME_LIST} &&
    65          export AIS_PRIMARY_URL=${AIS_PRIMARY_URL} &&
    66          export AIS_BACKEND_PROVIDERS="${AIS_BACKEND_PROVIDERS}" &&
    67          export AIS_CONF_FILE=/etc/ais/ais.json &&
    68          export AIS_LOCAL_CONF_FILE=/etc/ais/ais_local.json &&
    69          export STATSD_CONF_FILE="/etc/ais/statsd.conf" &&
    70          export COLLECTD_CONF_FILE="/etc/ais/collectd.conf" &&
    71          export INSTANCE=${INSTANCE} &&
    72          export AIS_LOG_DIR=${AIS_LOG_DIR} &&
    73          export AIS_USE_HTTPS=${AIS_USE_HTTPS} &&
    74          export AIS_SKIP_VERIFY_CRT=${AIS_SKIP_VERIFY_CRT} &&
    75          export AIS_SERVER_CRT=${AIS_SERVER_CRT} &&
    76          export AIS_SERVER_KEY=${AIS_SERVER_KEY} &&
    77          source /etc/ais/aisnode_config.sh &&
    78          aisnode -config=/etc/ais/ais.json -local_config=/etc/ais/ais_local.json -role=proxy -ntargets=${NUM_TARGET};
    79    volumes:
    80      - name: collectd-config
    81        configMap:
    82          name: collectd-config
    83      - name: statsd-config
    84        configMap:
    85          name: statsd-config
    86      - name: aws-credentials
    87        secret:
    88          secretName: aws-credentials
    89          optional: true
    90      - name: ais-tls-certs
    91        secret:
    92          secretName: ais-tls-certs
    93          optional: true
    94      - name: ais-logs
    95        hostPath:
    96          path: ${AIS_LOG_DIR}/proxy-${INSTANCE}
    97          type: DirectoryOrCreate