GitHub Container Registry から Okteto Kubernetes にプライベートバンドル/ピクチャを送信する - TechRepublic

GitHub Container Registry から Okteto Kubernetes にプライベートバンドル/ピクチャを送信する - TechRepublic
  • GitHub Container Registry から Okteto Kubernetes にプライベートバンドル/ピクチャをアップロードする

    あなたの推薦をお願いしてもよろしいでしょうか。

    問題は次の通りです。私のパイプラインは GHCR.IO からのプライベート画像を Okteto Kubernetes に移動できませんが、同様のプライベート リポジトリからのオープン画像は機能します。

    私は Windows 10 を使用しており、改善のために kinD を搭載した WSL2-Ubuntu 20.04 LTS を使用しており、minikube も試しました。

    Okteto で、画像のプルが「未承認」 – > 「imagePullBackOff」であるという間違いが発生します。

    私がやったこと:Stack Overflow、RTFM、Okteto FAQ を閲覧し、Okteto kubeconfig をダウンロードし、頭を悩ませ、認めたくないほど多くの時間を費やしましたが、まだ成果はありません。

    突然ですが、「kubectl secret」がうまく作成できません。「docker login – – username」でghcr.ioにサインインすると、プライベートな画像をローカルで取得できます。

    とにかく、Okteto でプライベート写真をアップロードしようとすると、「承認されていません」というエラーが発生します。

    最新のアップデートを適用した私のセットアップ:

    * Windows 10 Pro
    * JetBrains Rider IDE
    * WSL2-Ubuntu 20.04 LTS
    * ASP.NET Core MVC アプリ
    * .NET 6 SDK
    * Docker
    * kinD
    * minikube
    * Chocolatey
    * Homebrew
    * kinD のセットアップ

    kind create cluster –name my-name

    kubectl で名前空間を作成する

    // ghcr.io からイメージをプルするためのシークレットを作成します。
    kubectl create secret docker-registry my-secret -n my-namespace –docker-username=”my-username” –docker-password=”my-password” –docker-email=”my-email” –docker-server=”https://ghcr.io”

    // ローカルサービスアカウントにパッチを適用する
    kubectl patch serviceaccount default -p '{“imagePullSecrets”: [{“name”: “my-secret”}]}'

    kubernetes.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: okteto-repo
    namespace: my-namespace
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: okteto-repo
    template:
    metadata:
    labels:
    app: okteto-repo
    spec:
    containers:
    – name: okteto-repo
    image: ghcr.io/user/okteto-repo:latest
    ports:
    – containerPort: 80
    imagePullSecrets:
    – name: my-secret

    apiVersion: v1
    kind: Service
    metadata:
    name: okteto-repo
    annotations:
    dev.okteto.com/auto-ingress: “true”
    spec:
    type: ClusterIP
    selector:
    app: okteto-repo
    ports:
    – protocol: TCP
    port: 8080
    targetPort: 80

    なぜ機能しないのか、また、どうすればいいのかについて、ご意見はありますか?

    親愛なる仲間の皆さん、本当にありがとうございました。それぞれの情報は非常に貴重です!

    皆さんには素晴らしい機会があると信じています。

    コード元: https://bit.ly/3zOvtvD

Tagged: