16.5. Outpost에서 사용자 워크로드 생성


AWS VPC 클러스터의 OpenShift Container Platform을 Outpost로 확장한 후 node-role.kubernetes.io/outposts 레이블이 있는 에지 컴퓨팅 노드를 사용하여 Outpost에서 사용자 워크로드를 생성할 수 있습니다.

사전 요구 사항

  • AWS VPC 클러스터를 Outpost로 확장했습니다.
  • cluster-admin 권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Outpost 환경과 호환되는 엣지 컴퓨팅 머신을 배포하는 컴퓨팅 머신 세트를 생성했습니다.

프로세스

  1. 에지 서브넷의 에지 컴퓨팅 노드에 배포하려는 애플리케이션에 대한 배포 리소스 파일을 구성합니다.

    배포 매니페스트 예

    kind: Namespace
    apiVersion: v1
    metadata:
      name: <application_name> 
    1
    
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: <application_name>
      namespace: <application_namespace> 
    2
    
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: gp2-csi 
    3
    
      volumeMode: Filesystem
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: <application_name>
      namespace: <application_namespace>
    spec:
      selector:
        matchLabels:
          app: <application_name>
      replicas: 1
      template:
        metadata:
          labels:
            app: <application_name>
            location: outposts 
    4
    
        spec:
          securityContext:
            seccompProfile:
              type: RuntimeDefault
          nodeSelector: 
    5
    
            node-role.kubernetes.io/outpost: ''
          tolerations: 
    6
    
          - key: "node-role.kubernetes.io/outposts"
            operator: "Equal"
            value: ""
            effect: "NoSchedule"
          containers:
            - image: openshift/origin-node
              command:
               - "/bin/socat"
              args:
                - TCP4-LISTEN:8080,reuseaddr,fork
                - EXEC:'/bin/bash -c \"printf \\\"HTTP/1.0 200 OK\r\n\r\n\\\"; sed -e \\\"/^\r/q\\\"\"'
              imagePullPolicy: Always
              name: <application_name>
              ports:
                - containerPort: 8080
              volumeMounts:
                - mountPath: "/mnt/storage"
                  name: data
          volumes:
          - name: data
            persistentVolumeClaim:
              claimName: <application_name>
    Copy to Clipboard Toggle word wrap

    1
    애플리케이션 이름을 지정합니다.
    2
    애플리케이션의 네임스페이스를 지정합니다. 애플리케이션 네임스페이스는 애플리케이션 이름과 같을 수 있습니다.
    3
    스토리지 클래스 이름을 지정합니다. 엣지 컴퓨팅 구성의 경우 gp2-csi 스토리지 클래스를 사용해야 합니다.
    4
    Outpost에 배포된 워크로드를 식별할 레이블을 지정합니다.
    5
    엣지 컴퓨팅 노드를 대상으로 하는 노드 선택기 레이블을 지정합니다.
    6
    엣지 컴퓨팅 머신 세트의 컴퓨팅 머신 세트의 효과 테인트와 일치하는 허용 오차를 지정합니다. 다음과 같이 Operator 허용 오차를 설정합니다.
  2. 다음 명령을 실행하여 Deployment 리소스를 생성합니다.

    $ oc create -f <application_deployment>.yaml
    Copy to Clipboard Toggle word wrap
  3. 대상 엣지 컴퓨팅 노드에서 에지 네트워크 내에서 실행되는 서비스에 Pod를 노출하는 Service 오브젝트를 구성합니다.

    서비스 매니페스트 예

    apiVersion: v1
    kind: Service 
    1
    
    metadata:
      name:  <application_name>
      namespace: <application_namespace>
    spec:
      ports:
        - port: 80
          targetPort: 8080
          protocol: TCP
      type: NodePort
      selector: 
    2
    
        app: <application_name>
    Copy to Clipboard Toggle word wrap

    1
    서비스 리소스를 정의합니다.
    2
    관리 Pod에 적용할 라벨 유형을 지정합니다.
  4. 다음 명령을 실행하여 Service CR을 생성합니다.

    $ oc create -f <application_service>.yaml
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat