o(2/2)-クバーネディス上でminio操作を実行する(k 8 s+minio)


1.配置とサービスのYammerファイル


1-1 minio-deployment.yml


Minioサービスの導入
apiVersion: apps/v1
kind: Deployment
metadata:
  name: minio
spec:
  replicas: 1
  selector:
    matchLabels:
      app: minio
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: minio
    spec:
      nodeSelector:
        key: localhost
      nodeName: da-pc-0118
      volumes:
      - name: storage
        hostPath:
          path: /data/minio
      containers:
      - name: minio
        image: minio/minio:latest
        args:
        - server
        - --console-address
        - ":9001"
        - "/storage"
        env:
        - name: MINIO_ACCESS_KEY
          value: "minio"
        - name: MINIO_SECRET_KEY
          value: "minio123"
        - name: TZ
          value: Asia/Seoul
        - name: LANG
          value: ko_KR.utf8
        ports:
        - containerPort: 9000
          hostPort: 9000
        - containerPort: 9001
          hostPort: 9001
        volumeMounts:
        - name: storage
          mountPath: "/storage"

1-2 minio-service.yml


Minioサービスを外部に暴露すると発表
spec:
  type: NodePort
  ports:
  - port: 9000
    targetPort: 9000
    nodePort: 30333
    name: api
  - port: 9001
    targetPort: 9001
    nodePort: 30334
    name: ui
  selector:
    app: minio

2.運転


2-1. クバーネディス(牧場主-デスクトップ)


ブランチ-デスクトップを使用して行う(wsl-ubuntuを使用)
  • 牧場主-デスクトップダウンロード(https://rancherdesktop.io/)
  • 牧場主-デスクトップインストール
  • WSL統合で使用されているUbuntuを確認してください.

    2-2. Minioの使用

  • を持つymlファイルcreate
  • を使用
  • 外部アドレスを使用してファイル
  • を作成する.
    リファレンス
  • apply VS create
    アプリケーション
  • :リソースが存在しない場合は新しいリソースを作成します.リソースがすでに存在する場合は、構成リソース(一部の仕様を使用)
  • create:リソースが存在しない場合、新しいリソースの作成/リソースがすでに存在する場合、
  • ERRORの生成

    2-2-1. ymlファイルを使用して作成

  • 配備
  • の作成
    kubectl create -f minio-deployment.yml
    #또는
    kubectl apply -f minio deployment.yml
  • 配備確認
  • kubectl get deployment
  • サービス
  • の作成
    kubectl create -f minio-deployment.yml
    # 또는
    kubectl apply -f minio deployment.yml
  • サービス確認
  • kubectl get svc
  • pods確認
  • kubectl get pods
    #또는
    kubectl get pod 
  • 詳細確認
  • # pod 전체
    kubectl describe pods
    # 해당 포드 상세 내용 확인
    kubectl describe pods {포드명}

    2-3. Manioコンソールブラウザへの接続

  • アドレスウィンドウでlocalhost:30333と入力します.
  • コンソールポートを30333に指定.別途指定しない場合、乱数は
  • となります.
  • アイデンティティminio/パスワードminio 123
  • のIDとパスワードが対応する文字として指定されています.
  • 接続完了画面

  • 3.ホットスポットの整理


    3-1. ノードの選択

  • デプロイメントでは、ノードが指定されていないためエラーが発生しました.
  • nodenameを指定して
  • を解決

    3-2. 無限生成Pod

  • 配置が作成された瞬間、podは無限に生成されます.
  • descripeで確認すると、以下のアクティビティが表示されます.
  • デプロイメントでは、nodeSelectorを使用してkey:localhostを指定します.これは、現在のノードにラベルがないための問題かもしれません.
  • ノードにマーキングを行い、
  • を解決する.
    kubectl label nodes da-pc-0484 key=localhost
    ローカル環境では、KubernetesとKubernetsにMiniOを配置してMiniOコンソールブラウザに接続してみました.