第44章マイクロサービスCICD(6) - gitlab +ジェンキンス+ドッカー+ K8S
全体のプロセス:
- gitlabに提出マシンの開発コードの開発した後、
- ウェブフックプラグ構築ジェンキンス、ジェンキンス標識ドッカーコード画像によってトリガ後、ドッカー・レジストリをプッシュ
- K8SマスターRC上で実行された後、それによってポッドを作成する、サービスを作成し、PWからミラーを引っ張る、開始コンテナミラーに基づきます
第四十三章マイクロサービスCICD(5) - gitlab +ジェンキンス +ドッカー、最初の2つのステップの実現。3番目のセクションのこの実現
まず、ジェンキンスとK8S-マスター二つのマシン間でパスワードのsshせずにアクセスを開きます
参考:第四章12マイクロサービスCICD(4) -ジェンキンス+ gitlab +ウェブフック+公開オーバーのssh(2)
SSHサーバーを追加します。
注:10.211.55.6ジェンキンスのマシン上のファイルのコピーがないことから、そのリモートディレクトリのブランク。
二、ジェンキンスサービスの設定
マシンを選択し、コマンドを実行します。
三、K8S-マスター(10.211.55.6)
1、SVCおよび/ data /ディレクトリ内のrcファイルの作成
1.1、myservice1-ドッカ - rc.yaml
1 apiVersion:V1 2種類:ReplicationController 3つのメタデータ: 4名前:myservice1-ドッカ 5スペック: 6つのレプリカ:2 7セレクタ: 8アプリ:myservice1-ドッカ 9テンプレート: 10のメタデータ: 11枚のラベル: 12アプリ:myservice1-ドッカ 13仕様: 14個のコンテナ: 15 - 名前:myservice1-ドッカ 16画像:10.211.55.4:5000/com.xxx/myservice1-docker:1.0-SNAPSHOT 17 imagePullPolicy:常に 18のポート: 19 - containerPort:8080
説明:imagePullPolicy:
- 常に:タグはデフォルトの設定である、そして最新のであれば常に、ミラーを引っ張っ
- IfNotPresent:ミラーが存在しない場合は、ミラーを引っ張って、そうでない場合は最新のタグの単語、この配置はデフォルトです
- 決して
1.2、myservice1-ドッカ - svc.yaml
1 apiVersion:V1 2種類:サービス 3つのメタデータ: 4名前:myservice1-ドッカ 5スペック: 6種類:NodePort 7つのポート: 8 - ポート:8080 9 nodePort:30001 10セレクタ: 11アプリ:myservice1-ドッカ
2. /データ/スクリプト/ディレクトリにservice_start.shスクリプトを作成します。
1#!/ binに/ bashの 2輸出SERVICE_NAME = $ 1 3 sleep_second = 3 4 5エコー 'kubectl削除のrc $ {SERVICE_NAME}' 6 kubectl削除のRC $ {SERVICE_NAME} 7 8エコー 'kubectl削除サービス$ {SERVICE_NAME}' 9 kubectl削除サービス$ {SERVICE_NAME} 10 11エコー 'kubectl削除ポッド-lアプリ= $ {SERVICE_NAME}' 12個のkubectl削除ポッド-lアプリ= $ {SERVICE_NAME} 13 14睡眠$ {} sleep_second 15 16エコーは、「RCを作成します」 17 kubectlは-f /data/${service_name}-rc.yamlを作成します 18 19エコー「サービスを作成します」 20 kubectlは-f /data/${service_name}-svc.yamlを作成します
説明:
- まず、対応するサービスRC、サービス、およびすべて有するアプリ= $ポッド{SERVICE_NAME}タグを削除
- スクリプトが実行される最初の時間は、RC、サービス以来、ポッドは、エラーログを再生します、それを削除し、存在しない、それは(どんな効果を持っていなかった)問題ではありません。
- 3Sを眠った後、
- 最後に、サービスを作成するために、(この時点でポッドを作成し、レジストリから画像を引っ張って、そして最終的にミラーに応じてコンテナを起動)RCを作成する(外部アクセス・インタフェースを提供)
第三に、テスト
1.ローカル:
- Gitは--all追加します
- "テストK8SがCICD" -mコミットgitの
- gitのプッシュ原点HEAD:DEV
2、コンソールジェンキンスを参照してください
3、ブラウザアクセスhttp://10.211.55.8:30001/docker/hello