1.基本環境、フローチャート
1)フローチャート
2)、jenkins
にkubectlをインストールします。#マスターノードでkubectlの場所を表示します。
[root@k8s01 ~]# which kubectl
/usr/bin/kubectl
#CPk8sノードkubectlファイルからjenkinsへ
scp 10.0.0.101:/usr/bin/kubectl .
cp ./kubectl /usr/local/bin/
kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.9", GitCommit:"4fb7ed12476d57b8437ada90b4f93b17ffaeed99", GitTreeState:"clean", BuildDate:"2020-07-15T16:18:16Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
#k8sノードの設定構成ファイルcpをjenkinsに変更します#[root@localhost kubectl-install]# touch /root/.kube/config
コマンドを実行して結果を表示します
3)Gitlabがプロジェクトbenzhuproを作成し、jenkinsがユーザー名とパスワードを使用してプルします
4)
港湾環境の準備#harborは倉庫を建設し、ジェンキンスは秘密なしでログインできます具体可参考: https://blog.51cto.com/keep11/2620067
次に、jenkinsがパイプラインプロジェクトを
作成します。#パイプラインの作成#パイプライン
の構築
ここでの構築は比較的単純であり、実際にはより詳細になります。たとえば、パラメータの設定、パッケージのコンパイル、yamlファイルのクリーニング、ミラーのクリーニングはすべて省略されます。
後で追加し続ける
#yamlの設定ファイル
[root@localhost a1]# cat hello52.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: centos
labels:
app: centos
spec:
replicas: 3
selector:
matchLabels:
app: centos
template:
metadata:
labels:
app: centos
spec:
containers:
- name: centos
image: 10.0.0.181:10080/tools/centos7:pipeline_1_52
imagePullPolicy: Always
ports:
- containerPort: 8037
#dockerfileファイル
#原镜像
FROM 10.0.0.181:10080/tools/centos7_jdk
#定义标签
LABEL centos:7 centos7:jdk
#解压缩文件到/usr/local
add test.jar /
#变量设置
EXPOSE 8037
ENTRYPOINT ["java", "-jar", "/test.jar"]
3.リリース結果の検証
2)
ノードノードはプルされたイメージを表示します
3)ポッドの実行ステータス