3.5.8. odo 서비스


odoOperator 의 도움을 받아 서비스를 배포할 수 있습니다.

설치에 사용 가능한 Operator 및 서비스 목록은 odo catalog 명령을 사용하여 확인할 수 있습니다.

서비스는 구성 요소 의 컨텍스트에서 생성되므로 서비스를 배포하기 전에 odo create 명령을 실행합니다.

서비스는 다음 두 단계를 사용하여 배포됩니다.

  1. 서비스를 정의하고 해당 정의를 devfile에 저장합니다.
  2. odo push 명령을 사용하여 정의된 서비스를 클러스터에 배포합니다.

3.5.8.1. 새 서비스 생성

새 서비스를 생성하려면 명령을 실행합니다.

$ odo service create

예를 들어 my-redis-service 라는 Redis 서비스의 인스턴스를 생성하려면 다음 명령을 실행합니다.

출력 예

$ odo catalog list services
Services available through Operators
NAME                      CRDs
redis-operator.v0.8.0     RedisCluster, Redis

$ odo service create redis-operator.v0.8.0/Redis my-redis-service
Successfully added service to the configuration; do 'odo push' to create service on the cluster

이 명령은 서비스 정의가 포함된 kubernetes/ 디렉터리에 Kubernetes 매니페스트를 생성하고 이 파일은 devfile.yaml 파일에서 참조합니다.

$ cat kubernetes/odo-service-my-redis-service.yaml

출력 예

 apiVersion: redis.redis.opstreelabs.in/v1beta1
 kind: Redis
 metadata:
   name: my-redis-service
 spec:
   kubernetesConfig:
     image: quay.io/opstree/redis:v6.2.5
     imagePullPolicy: IfNotPresent
     resources:
       limits:
         cpu: 101m
         memory: 128Mi
       requests:
         cpu: 101m
         memory: 128Mi
     serviceType: ClusterIP
   redisExporter:
     enabled: false
     image: quay.io/opstree/redis-exporter:1.0
   storage:
     volumeClaimTemplate:
       spec:
         accessModes:
         - ReadWriteOnce
         resources:
           requests:
             storage: 1Gi

명령 예

$ cat devfile.yaml

출력 예

[...]
components:
- kubernetes:
    uri: kubernetes/odo-service-my-redis-service.yaml
  name: my-redis-service
[...]

생성된 인스턴스의 이름은 선택 사항입니다. 이름을 지정하지 않으면 서비스의 소문자가 됩니다. 예를 들어 다음 명령은 redis 라는 Redis 서비스의 인스턴스를 생성합니다.

$ odo service create redis-operator.v0.8.0/Redis
3.5.8.1.1. 매니페스트 간소화

기본적으로 devfile.yaml 파일에서 참조하는 kubernetes/ 디렉터리에 새 매니페스트가 생성됩니다. --inlined 플래그를 사용하여 devfile.yaml 파일 내의 매니페스트를 인라인할 수 있습니다.

$ odo service create redis-operator.v0.8.0/Redis my-redis-service --inlined
Successfully added service to the configuration; do 'odo push' to create service on the cluster

명령 예

$ cat devfile.yaml

출력 예

[...]
components:
- kubernetes:
    inlined: |
      apiVersion: redis.redis.opstreelabs.in/v1beta1
      kind: Redis
      metadata:
        name: my-redis-service
      spec:
        kubernetesConfig:
          image: quay.io/opstree/redis:v6.2.5
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 101m
              memory: 128Mi
            requests:
              cpu: 101m
              memory: 128Mi
          serviceType: ClusterIP
        redisExporter:
          enabled: false
          image: quay.io/opstree/redis-exporter:1.0
        storage:
          volumeClaimTemplate:
            spec:
              accessModes:
              - ReadWriteOnce
              resources:
                requests:
                  storage: 1Gi
  name: my-redis-service
[...]

3.5.8.1.2. 서비스 구성

특정 사용자 지정이 없으면 기본 구성으로 서비스가 생성됩니다. 명령줄 인수 또는 파일을 사용하여 고유한 구성을 지정할 수 있습니다.

3.5.8.1.2.1. 명령줄 인수 사용

--parameters (또는 -p) 플래그를 사용하여 고유한 구성을 지정합니다.

다음 예제에서는 세 가지 매개 변수를 사용하여 Redis 서비스를 구성합니다.

$ odo service create redis-operator.v0.8.0/Redis my-redis-service \
    -p kubernetesConfig.image=quay.io/opstree/redis:v6.2.5 \
    -p kubernetesConfig.serviceType=ClusterIP \
    -p redisExporter.image=quay.io/opstree/redis-exporter:1.0
Successfully added service to the configuration; do 'odo push' to create service on the cluster

명령 예

$ cat kubernetes/odo-service-my-redis-service.yaml

출력 예

apiVersion: redis.redis.opstreelabs.in/v1beta1
kind: Redis
metadata:
  name: my-redis-service
spec:
  kubernetesConfig:
    image: quay.io/opstree/redis:v6.2.5
    serviceType: ClusterIP
  redisExporter:
    image: quay.io/opstree/redis-exporter:1.0

odo catalog describe service 명령을 사용하여 특정 서비스에 사용 가능한 매개변수를 가져올 수 있습니다.

3.5.8.1.2.2. 파일 사용

YAML 매니페스트를 사용하여 자체 사양을 구성합니다. 다음 예에서 Redis 서비스는 세 개의 매개 변수로 구성됩니다.

  1. 매니페스트를 생성합니다.

    $ cat > my-redis.yaml <<EOF
    apiVersion: redis.redis.opstreelabs.in/v1beta1
    kind: Redis
    metadata:
      name: my-redis-service
    spec:
      kubernetesConfig:
        image: quay.io/opstree/redis:v6.2.5
        serviceType: ClusterIP
      redisExporter:
        image: quay.io/opstree/redis-exporter:1.0
    EOF
  2. 매니페스트에서 서비스를 생성합니다.

    $ odo service create --from-file my-redis.yaml
    Successfully added service to the configuration; do 'odo push' to create service on the cluster
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.