Tencent Cloud Container ServiceTKEでDevOpsを練習する

TKEでDevOpsを練習する

概要概要

DevOpsの概念は、ますます多くの企業に採用されています。DevOpsは、開発と運用の組み合わせです。これは、「ソフトウェア開発者(Dev)」と「IT運用および保守技術者(Ops)」の間のコミュニケーションと協力を重視する文化を表しています。 「ソフトウェア配信」と「アーキテクチャ変更」のプロセスを自動化することにより、ソフトウェアの構築、テスト、およびリリースのプロセスをより速く、より頻繁に、そして信頼できるものにすることができます。クラウドネイティブの時代には、アジャイルな開発を実現するためにDevopsが考える必要があります。この記事では、クラウドネイティブ用に特別に構築されたTKEコンテナDevOpsサービスを紹介して実践します。これにより、コードが送信されたときのトリガーからイメージが自動的に構築され、イメージが正常に構築されたときに自動トリガーが実現されます。展開プロセスは、アプリケーションを展開し、TKEクラスター内のシームレスなDevopsパイプラインのセットに更新します。

TKEコンテナDevOpsの概要

TKE DevOpsコンテナは、コンテナサービスTKEコンテナミラーリングサービスTCR、およびCODING DevOpsであり、コードの自動コンパイル、コンテナミラーの構築、ミラープッシュ、およびアプリケーション展開機能を備えた3つのサービス指向コンテナビジネスシナリオを緊密に統合して、強力なワンストップを顧客に提供します。クラウドネイティブのDevOpsサービス。コンテナDevOpsのクイックスタートについては、TKEとCodingの共同ビジネスを参照して、迅速な反復のベストプラクティスドキュメントを実現してください

TKEコンテナDevOpsビジネスプロセス

TKEコンテナDevOpsサービスは、次の図に示すように、アプリケーションの開発および展開プロセス全体のライフサイクル管理全体を実行し、コードの更新からアプリケーションの展開および更新までの自動化を実現します。

img

TKEコンテナDevOpsの使用方法

操作シーン

TKEコンテナDevops機能は、強力なクラウドネイティブDevopsサービスを提供します。以下は、上記のTKEコンテナDevopsビジネスフローチャートに従って、ソースコードの更新からビジネスリリースまでの自動プロセス全体を実装します。

前提条件

  • TKEテストクラスターを作成する

    デプロイメントコンテナサービスTKEの作成方法に関するリファレンスドキュメント

  • オープンコンテナミラーサービスTCRサービス

    アクセス可能なTCRテストインスタンスが作成され、テストインスタンスのアクセス資格情報が生成されました。TCRはEnterpriseStandardまたはAdvancedEditionを開く必要があり、ネイティブクラウド配信ワークフローをサポートしています。コンテナミラーサービス購入ガイドを参照してください現在のTCRサポートの地域サポートエリアを参照してください

  • CODINGDevOpsサービスを開く

    Coding Devopsチームが作成され、改善されました。サブアカウント操作の使用、CODING DevOpsでのマスターアカウントの使用など、高速サブユーザーの作成には、サブアカウントの対応するインスタンスに事前に付与されたアクセス許可または参照コンソールサブユーザー許可設定操作権限があります。

手順

TKEコンテナDevopsアクセス入口

次の図に示すように、TKEコンソールの左側にある機能メニューバーの[Devops]機能リンクをクリックして、[ContainerDevops]導入インターフェイスに入ります。

img

[今すぐ使用]をクリックしてチームのメインコーディングページにジャンプし、関連するDevOps機能を使用します。

コードホスティングを構成する

テストプロジェクトとテストコードウェアハウスの作成コーディングチームのホームページ。コードはコーディングの説明でホストされていますコードホスティングのプレゼンテーションを参照してください作成手順は次のとおりです。

ステップ1:次の図に示すように、コーディングチーム[プロジェクト]のメインページでテストプロジェクトを作成します。

img

ステップ2:作成したテストプロジェクト「test-jokey」をクリックしてプロジェクトのメインページに入り、次の図に示すように、[コードリポジトリ]メニューに新しいテストコードリポジトリを作成します。

img

ビルドプランを作成する

テストプロジェクト「test-jokey」のメインページ左側にある[ContinuousIntegration]メニューのサブメニュー[BuildPlan]でビルドプランを作成します。ビルドプランはContinuousIntegrationの基本単位です。ビルドプランテンプレートを選択すると、ビルドプランをすばやく作成できます。詳細については、ドキュメント開始高速連続統合を参照してください

ステップ1:「イメージをビルドしてTCR Enterprise Editionにプッシュ」テンプレートを選択し、コンポーネントプランをすばやく作成します。作成例は次のとおりです。

img

ステップ2:ビルドプランテンプレートに従って、チェックアウトするコードソースを選択し、TCRアクセス資格情報に関連する環境変数を構成します。右側に、以下に示すように、テンプレートによって生成されたJenkinsfileのプレビューを表示します。

ヒント:コーディングdevopsとTCRインスタンスは、イントラネット内で相互に通信できます。ミラープッシュは、デフォルトでイントラネット送信を使用するため、追加の構成は必要ありません。

img

ビルドテンプレートを使用して生成されたビルドプロジェクトの場合、ビルドプロジェクトの[設定]メニューをクリックしてビルドの詳細をカスタマイズすることもできます。ビルドプラン構成ページの機能説明は次のとおりです。

img

[基本情報]:ソースコードおよびその他の基本構成ノードプールを選択するための[基本構成]ページ。ノードのプールの説明では、ドキュメント作成ノードを参照してください

[プロセス]構成:ビルド環境を実行するタスクを構成するために使用されます手順はビルド環境を参照しています

[トリガ]ルール:ビルド計画をトリガするためのさまざまな方法をサポートすることができるビルドトリガスキームのルールを設定するために、命令が参照ルールがトリガされます

[]変数とキャッシュ:キャッシュ環境変数と構成手順は、環境変数キャッシュディレクトリを参照します

【通知リマインダー】:工事計画が完了すると、指定されたコーディングチームメンバーに通知リマインダーを送信できます。

また、新しいWebHookの方法で[構成アイテム->開発者オプション-> WebHook]を企業のマイクロレターやその他のインスタントメッセージングプラットフォームにプッシュすることもできます。WebHookバインディング企業のマイクロチャネルグループロボット、以下の構成例を参照してください。

img

継続的統合のコーディングの詳細については、導入された継続的統合を参照してください

継続的な展開を作成する

テストプロジェクト「test-jokey」メインページの左側にある[ContinuousIntegration]メニューのサブメニュー[Kubernetes]で、次の図に示すように、次の手順に従って、連続展開パイプラインの作成をガイドします。

img

クラウドアカウントを構成する

クラウドアカウントのドキュメントを参照して、クラウドの展開の構成に関するクラウドアカウント情報リソースへのアクセスを追加します。[TencentcloudTKE]または[Kubernetes]タイプのクラウドアカウントを選択し、関連する認証構成を入力してクラウドアカウントを追加します。ここで、[Kubernetes]ウェイタイを選択します。セットする。

img

アプリケーションとプロセスを構成する

コーディングアプリケーションとプロジェクト関連の情報については、ドキュメントアプリケーションとプロジェクトプロセスの構成を参照してください。次の構成アプリケーションとプロセスには、簡単な説明の主要な構成項目しかありません。

アプリケーションを作成するときは、[Kubernetes(TKE)デプロイメント]メソッドを確認する必要があります。

img

新しいアプリケーションで展開プロセスを作成する場合は、[Kubernetes]プロセステンプレートを選択し、実際のニーズに応じてテンプレートの下のプロセスを選択します。ここでは、下図の2番目のプロセス、展開とサービスをKubernetsクラスターに展開するプロセスを選択します。

img

[展開プロセス]で展開プロセスを構成する場合、[必要な製品の開始]オプションは、前の継続的な統合リンクで生成されたTCRウェアハウスミラー製品を関連付けます。

img

[自動トリガー]を使用してTCRウェアハウスミラー製品をバインドします。これが重要なポイントです。ミラーの新しいバージョンが正常に構築されると、展開プロセスが自動的にトリガーされます。構成方法は次のとおりです。

img

次のステップは、[DeploymentDeployment]と[DeployService]の展開フェーズを構成することです。2つのフェーズの構成方法は似ています。前に展開権限が追加されたクラウドアカウントを選択し、カスタム展開YAMLテンプレートであるカスタムマニフェストに入力します。

img

カスタム展開YAMLの例は次のとおりです。

ヒント:継続的な展開の更新戦略について

この例では、単純な展開YAMLのみを使用してKubernetesクラスターに展開し、デフォルトのローリング更新(RollingUpdate)更新戦略を使用します。実際、青緑色のパブリッシング、カナリア、A / Bテストなどの構成更新ポリシーなど、Nginx-ingress / Istioのより高度なツールを支援できます。青緑色のパブリッシングNginx-grayIngress自動化の特定の使用法を参照してください。リリース継続的な展開+ TKEメッシュグレーリリースの練習

apiVersion: apps/v1
kind: Deployment
metadata:
  name: devops-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: devops-app
  template:
    metadata:
      labels:
        app: devops-app
    spec:
      containers:
        - image: xxx-test.tencentcloudcr.com/xxx-test/jokey-test  # 示例镜像地址
          name: devops-app
          ports:
            - containerPort: 5000
      imagePullSecrets:  # 私有仓库访问凭证配置 
        - name: tcr-secret # 访问凭证 secret

その中で、spec.template.spec.containers.*.imageコーディングのアドレスフィールドミラーリングするために、変換ルールの一致があります。変換ルールの一致する説明は、マニフェストのドキュメントバインディング製品を参照してください

TKEがTCRプライベートウェアハウスイメージをプルする方法は2つあります。

注:上記の展開YAMLの例では、「TCRプライベートウェアハウスイメージのアクセス資格情報をプルするようにTKEを手動で構成する」方法を使用しています。

カスタマイズされたサービスマニフェストYAMLの例:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: devops-svc
  name: devops-svc
spec:
  ports:
    - port: 5000
      protocol: TCP
  selector:
    app: devops-app

メソッドは、展開プロセスの構成の各段階でカスタムイベント通知(オプション)を追加できるため、展開プロセスの実装について通知されるので便利です。ここでは、マイクロチャネルにアクセスするための構成済みのエンタープライズマイクロチャネル通知方法Webookロボットリンクは、エンタープライズマイクロレターの作成を参照します。ロボットのグループ

img

関連するプロジェクトとアプリケーション

関連プロジェクトおよびアプリケーション構成は、ドキュメントアプリケーションおよび関連プロジェクトを参照してください

法案の発行

使用および構成するために発行された請求書ドキュメントの新しいシングルリリースを参照してください

Codingの継続的な展開の詳細については、導入の継続的な展開を参照しください

テスト検証

次のv2APIコードを変更してプロジェクトコードファイルに追加した後、マスターブランチを送信します。

img

イベント「コード更新時に自動的に実行される」トリガー構成を使用するための継続的な統合ビルドプランであるため、関連するトリガー構成を理解し、ルールのトリガーを参照してください変更されたコードが送信されると、関連するビルドプランの実行が自動的にトリガーされます。

img

次の図に示すように、エンタープライズWeChat Webhook通知が継続的な統合用に構成されている場合、エンタープライズWeChatは対応する即時通知メッセージも受信します。

img

ビルドプランがDockerイメージ製品を生成すると、関連する[Continuous Deployment]プロセスが自動的にトリガーされ、新しいイメージアプリケーションがTKEクラスターに更新されます。

img

展開プロセスで企業のWeChat通知が構成されている場合、展開プロセスタスクが完了すると、次の図に示すように、対応する企業のWeChat展開完了通知が届きます。

img

この時点で、ワークロードが正常に更新されたことをTKEで確認できます。

img

テスト検証の結果から、ソースコードの更新からTKEでのビジネスリリースまでのDevOpsプロセス全体を実装したことがわかります。

おすすめ

転載: blog.51cto.com/14120339/2547107