清华源jenkins插件地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
查看json中依然有很多源指向
updates.jenkins-ci.org
思路,在jenkins所在pod中添加一个sidecar,将 updates.jenkins-ci.org 重定向到 mirrors.tuna.tsinghua.edu.cn,不对原有jenkins镜像侵入,方便以后升级
docker build -t dolphintwo/jenkins-plugins-proxy:v0.1 .
FROM nginx:1.17.6-alpine
LABEL maintainer="dolphintwo dtdinghui2@gmail.com"
COPY nginx.conf /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location /download/plugins {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
proxy_pass https://mirrors.tuna.tsinghua.edu.cn;
}
}
}
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins
labels:
name: jenkins
spec:
replicas: 1
selector:
matchLabels:
name: jenkins
template:
metadata:
name: jenkins
labels:
name: jenkins
spec:
serviceAccountName: jenkins
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "updates.jenkins-ci.org"
containers:
- name: tuna-proxy
image: dolphintwo/jenkins-plugins-proxy:v0.1
imagePullPolicy: Always
ports:
- containerPort: 80
- name: jenkins
image: jenkins/jenkins:lts-alpine
imagePullPolicy: Always
ports:
- containerPort: 8080
- containerPort: 50000
resources:
limits:
cpu: 4
memory: 8Gi
requests:
cpu: 0.5
memory: 1000Mi
env:
- name: LIMITS_MEMORY
valueFrom:
resourceFieldRef:
resource: limits.memory
divisor: 1Mi
- name: JAVA_OPTS
value: -Xmx$(LIMITS_MEMORY)m -XshowSettings:vm -Dhudson.slaves.NodeProvisioner.initialDelay=0 -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85
volumeMounts:
- name: jenkins-home
mountPath: /var/jenkins_home
securityContext:
fsGroup: 1000
volumes:
- name: jenkins-home
persistentVolumeClaim:
claimName: jenkins-home
注意添加sidecar并指定host拦截请求
deployment只是本次实验中的示范,应该也可以创建有状态应用中使用
在插件中心更新插件,查询pod中两个容器日志
1 kubernetes-operator|⇒ kubectl -n ops logs jenkins-5f4996b99-77r98 jenkins --tail 50 2 ... 3 2019-12-27 07:36:14.430+0000 [id=84] INFO hudson.PluginManager#install: Starting installation of a batch of 1 plugins plus their dependencies 4 2019-12-27 07:36:21.510+0000 [id=85] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of localization-zh-cn on behalf of admin 5 2019-12-27 07:36:22.140+0000 [id=85] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading localization-zh-cn 6 2019-12-27 07:37:32.662+0000 [id=79] INFO hudson.PluginManager#install: Starting installation of a batch of 15 plugins plus their dependencies 7 2019-12-27 07:37:32.663+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of docker-commons on behalf of admin 8 2019-12-27 07:37:32.666+0000 [id=79] INFO hudson.model.UpdateSite$Plugin#deploy: Adding dependent install of pipeline-model-api for plugin pipeline-model-extensions 9 2019-12-27 07:37:33.703+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading docker-commons 10 2019-12-27 07:37:34.042+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of kubernetes on behalf of admin 11 2019-12-27 07:37:37.615+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading kubernetes 12 2019-12-27 07:37:43.745+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of pipeline-stage-tags-metadata on behalf of admin 13 2019-12-27 07:37:44.129+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading pipeline-stage-tags-metadata 14 2019-12-27 07:37:44.186+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of git-server on behalf of admin 15 2019-12-27 07:37:45.111+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading git-server 16 2019-12-27 07:37:45.186+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of workflow-api on behalf of admin 17 2019-12-27 07:37:46.614+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading workflow-api 18 2019-12-27 07:37:46.952+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of workflow-cps on behalf of admin 19 2019-12-27 07:37:47.469+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading workflow-cps 20 2019-12-27 07:37:48.834+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of pipeline-model-api on behalf of admin 21 2019-12-27 07:37:49.382+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading pipeline-model-api 22 2019-12-27 07:37:51.666+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of pipeline-model-extensions on behalf of admin 23 2019-12-27 07:37:52.192+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading pipeline-model-extensions 24 2019-12-27 07:37:52.308+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of kubernetes-cd on behalf of admin 25 2019-12-27 07:37:53.188+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading kubernetes-cd 26 2019-12-27 07:38:29.885+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of branch-api on behalf of admin 27 2019-12-27 07:38:30.424+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading branch-api 28 2019-12-27 07:38:31.292+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of cloudbees-folder on behalf of admin 29 2019-12-27 07:38:32.434+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading cloudbees-folder 30 2019-12-27 07:38:33.025+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of pipeline-model-definition on behalf of admin 31 2019-12-27 07:38:33.521+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading pipeline-model-definition 32 2019-12-27 07:38:35.165+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of pipeline-model-api on behalf of admin 33 2019-12-27 07:38:35.165+0000 [id=90] INFO h.m.UpdateCenter$InstallationJob#_run: Skipping duplicate install of: Pipeline: Model API@1.5.0 34 2019-12-27 07:38:35.166+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Installation successful: pipeline-model-api 35 2019-12-27 07:38:35.166+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of config-file-provider on behalf of admin 36 2019-12-27 07:38:35.738+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading config-file-provider 37 2019-12-27 07:38:36.331+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of gradle on behalf of admin 38 2019-12-27 07:38:39.430+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading gradle 39 2019-12-27 07:38:41.012+0000 [id=90] INFO h.model.UpdateCenter$DownloadJob#run: Starting the installation of role-strategy on behalf of admin 40 2019-12-27 07:38:41.536+0000 [id=90] INFO h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading role-strategy 41 kubernetes-operator|⇒ kubectl -n ops logs jenkins-5f4996b99-77r98 tuna-proxy --tail 50 42 127.0.0.1 - - [27/Dec/2019:07:36:22 +0000] "GET /download/plugins/localization-zh-cn/1.0.13/localization-zh-cn.hpi HTTP/1.1" 200 542952 "-" "Java/1.8.0_212" "-" 43 127.0.0.1 - - [27/Dec/2019:07:37:34 +0000] "GET /download/plugins/docker-commons/1.16/docker-commons.hpi HTTP/1.1" 200 91018 "-" "Java/1.8.0_212" "-" 44 127.0.0.1 - - [27/Dec/2019:07:37:43 +0000] "GET /download/plugins/kubernetes/1.22.3/kubernetes.hpi HTTP/1.1" 200 995984 "-" "Java/1.8.0_212" "-" 45 127.0.0.1 - - [27/Dec/2019:07:37:44 +0000] "GET /download/plugins/pipeline-stage-tags-metadata/1.5.0/pipeline-stage-tags-metadata.hpi HTTP/1.1" 200 10708 "-" "Java/1.8.0_212" "-" 46 127.0.0.1 - - [27/Dec/2019:07:37:45 +0000] "GET /download/plugins/git-server/1.9/git-server.hpi HTTP/1.1" 200 30408 "-" "Java/1.8.0_212" "-" 47 127.0.0.1 - - [27/Dec/2019:07:37:46 +0000] "GET /download/plugins/workflow-api/2.38/workflow-api.hpi HTTP/1.1" 200 155980 "-" "Java/1.8.0_212" "-" 48 127.0.0.1 - - [27/Dec/2019:07:37:48 +0000] "GET /download/plugins/workflow-cps/2.78/workflow-cps.hpi HTTP/1.1" 200 597525 "-" "Java/1.8.0_212" "-" 49 127.0.0.1 - - [27/Dec/2019:07:37:51 +0000] "GET /download/plugins/pipeline-model-api/1.5.0/pipeline-model-api.hpi HTTP/1.1" 200 2436323 "-" "Java/1.8.0_212" "-" 50 127.0.0.1 - - [27/Dec/2019:07:37:52 +0000] "GET /download/plugins/pipeline-model-extensions/1.5.0/pipeline-model-extensions.hpi HTTP/1.1" 200 38764 "-" "Java/1.8.0_212" "-" 51 127.0.0.1 - - [27/Dec/2019:07:38:29 +0000] "GET /download/plugins/kubernetes-cd/2.2.0/kubernetes-cd.hpi HTTP/1.1" 200 34436567 "-" "Java/1.8.0_212" "-" 52 127.0.0.1 - - [27/Dec/2019:07:38:31 +0000] "GET /download/plugins/branch-api/2.5.5/branch-api.hpi HTTP/1.1" 200 308984 "-" "Java/1.8.0_212" "-" 53 127.0.0.1 - - [27/Dec/2019:07:38:32 +0000] "GET /download/plugins/cloudbees-folder/6.10.1/cloudbees-folder.hpi HTTP/1.1" 200 218594 "-" "Java/1.8.0_212" "-" 54 127.0.0.1 - - [27/Dec/2019:07:38:35 +0000] "GET /download/plugins/pipeline-model-definition/1.5.0/pipeline-model-definition.hpi HTTP/1.1" 200 1490265 "-" "Java/1.8.0_212" "-" 55 127.0.0.1 - - [27/Dec/2019:07:38:36 +0000] "GET /download/plugins/config-file-provider/3.6.3/config-file-provider.hpi HTTP/1.1" 200 196260 "-" "Java/1.8.0_212" "-" 56 127.0.0.1 - - [27/Dec/2019:07:38:40 +0000] "GET /download/plugins/gradle/1.35/gradle.hpi HTTP/1.1" 200 71048 "-" "Java/1.8.0_212" "-" 57 127.0.0.1 - - [27/Dec/2019:07:38:41 +0000] "GET /download/plugins/role-strategy/2.16/role-strategy.hpi HTTP/1.1" 200 104551 "-" "Java/1.8.0_212" "-"
成功!
原文:https://www.cnblogs.com/dolphintwo/p/12107853.html