Kubernates集積Harborの主な考え方と操作

4250 ワード

Kubernates集積Harborの主な考え方と操作を紹介した.
文書ディレクトリ
  • 前置作業
  • 主な考え方
  • の詳細手順は、以下の
  • である.
  • Step 1、node上でdocker loginを実行してHarbor
  • にログインする
  • Step 2、`secret-harbor-dev`
  • と命名された鍵を生成する
  • Step 3、鍵の表示
  • Step 4、yamlファイルにおいて`imagePullSecrets`によりミラー操作をプルするために使用する鍵
  • を指定する.
    前置き作業
  • Kubernatesクラスタ
  • をインストール
  • Harbor
  • を取り付ける
    主な考え方
  • は、harbor倉庫pullからミラーリングできるが、k 8 s nodeのdockerを操作する.しかし、k 8 sがpodを作成した場合、harbor倉庫からpullすることはできません.この場合、harborログインユーザ情報に基づいて、k 8 sにおいてリソースタイプSecret(秘密鍵)を作成する必要がある.
  • yamlファイルにimagePullSecretsパラメータを追加し、リモートウェアハウスpullミラーリング時にユーザ情報を送信して認証するための1つ以上のSecretを指定します.
  • Harborプロジェクトとユーザー:デフォルトのプロジェクトはlibraryで、デフォルトはpublicで公開されています.つまり、harborはすべてのユーザーがpullすることができます.もちろん、必要に応じて独自のプロジェクトを作成し、プロジェクトをprivateプライベートに設定することを強くお勧めします.これにより、プロジェクトの下のメンバー(デフォルトはadminユーザーを含む)だけがアクセスできます.メンバーの役割には、- Master:プロジェクト管理者、ミラーのアップロード、ダウンロード、削除、表示の権限の3つがあります.- Developer:開発者は、ミラー権限の表示、アップロード、ダウンロードしかできません.- Guest:訪問者は、ミラーを表示およびダウンロードする権限しかありません.- Limited Guest制限された訪問者
  • 詳細な手順は次のとおりです.
    Step 1、nodeでdocker loginを実行してHarborにログインする
    # admin             -	harbor    
    # Harbor12345       -	harbor   
    # harbor.domain.com -	harbor     /IP
    docker login -uadmin -pHarbor12345 harbor.domain.com
    

    コマンドを実行してログインステータスを表示します.
    [root@dev ~]# cat ~/.docker/config.json 
    {
            "auths": {
                    "harbor.domain.com": {
                            "auth": "Y2N4...MjM="
                    }
            }
    }   
    

    Step 2、生成鍵(secret)、名前はsecret-harbor-dev
    #     :
    # secret-harbor     -         ,      
    # --docker-server   -   docker    
    # --docker-username -   docker    
    # --docker-password -   docker    
    # -n -   namespace,   default
    kubectl create secret docker-registry secret-harbor \
        --docker-server=harbor.domain.com \
        --docker-username=admin \
        --docker-password=Harbor12345
    

    Step 3、鍵の表示
    [root@dev244 ~]# kubectl get secret
    NAME            TYPE                             DATA   AGE
    secret-harbor   kubernetes.io/dockerconfigjson   1      22s
    

    Step 4、yamlファイルでは、imagePullSecretsにより、ミラーリング操作で使用する鍵を引くよう指定する
    # imagePullSecrets -              ,       
    imagePullSecrets:
    - name: secret-harbor
    

    注:1)Deploymentを定義するyamlファイルでは、パラメータレベルに注意してspec.template.spec.imagePullSecretsに設定します.2)現在のリソースのnamespaceは、鍵と一致しなければならない.
    これにより、yamlファイルを実行する際にnodeノード上のdockerはsecret-harborを使用してHarbor認証を取得し、Harborからミラーを引き出すことができます.