Jenkins 动态salve简单配置连接 EKS

安装Jenkins

helm repo add jenkins https://charts.jenkins.io
helm repo update
# 当前版本
jenkins-5.1.18.tgz

瘦身后的 values.yaml

# grep -Ev '^\s*#|^$' values.yaml
nameOverride:
fullnameOverride:
namespaceOverride:
clusterZone: "cluster.local"
kubernetesURL: "https://kubernetes.default"
credentialsId:
renderHelmLabels: true
controller:componentName: "jenkins-controller"image:registry: "docker.io"repository: "jenkins/jenkins"tag:tagLabel: jdk17pullPolicy: "Always"imagePullSecretName:lifecycle: {}disableRememberMe: falsenumExecutors: 0executorMode: "NORMAL"customJenkinsLabels: []hostNetworking: falseadmin:username: "admins"password:userKey: jenkins-admin-userpasswordKey: jenkins-admin-passwordcreateSecret: trueexistingSecret: ""jenkinsAdminEmail:jenkinsHome: "/var/jenkins_home"jenkinsRef: "/usr/share/jenkins/ref"jenkinsWar: "/usr/share/jenkins/jenkins.war"resources:requests:cpu: "50m"memory: "256Mi"limits:cpu: "4000m"memory: "4096Mi"shareProcessNamespace: falseinitContainerResources: {}initContainerEnvFrom: []initContainerEnv: []containerEnvFrom: []containerEnv: []javaOpts:jenkinsOpts:jenkinsUrlProtocol:jenkinsUrl:jenkinsUriPrefix:usePodSecurityContext: truerunAsUser: 1000fsGroup: 1000securityContextCapabilities: {}podSecurityContextOverride: ~containerSecurityContext:runAsUser: 1000runAsGroup: 1000readOnlyRootFilesystem: trueallowPrivilegeEscalation: falseserviceType: NodePortclusterIp:servicePort: 8080targetPort: 8080nodePort: 33441serviceExternalTrafficPolicy:serviceAnnotations: {}statefulSetLabels: {}serviceLabels: {}podLabels: {}healthProbes: trueprobes:startupProbe:failureThreshold: 12httpGet:path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'port: httpperiodSeconds: 10timeoutSeconds: 5livenessProbe:failureThreshold: 5httpGet:path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'port: httpperiodSeconds: 10timeoutSeconds: 5initialDelaySeconds:readinessProbe:failureThreshold: 3httpGet:path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'port: httpperiodSeconds: 10timeoutSeconds: 5initialDelaySeconds:podDisruptionBudget:enabled: falseapiVersion: "policy/v1beta1"annotations: {}labels: {}maxUnavailable: "0"agentListenerEnabled: trueagentListenerPort: 50001agentListenerHostPort:agentListenerNodePort: 50001agentListenerExternalTrafficPolicy:agentListenerLoadBalancerSourceRanges:- 0.0.0.0/0disabledAgentProtocols:- JNLP-connect- JNLP2-connectcsrf:defaultCrumbIssuer:enabled: trueproxyCompatability: trueagentListenerServiceType: "NodePort"agentListenerServiceAnnotations: {}agentListenerLoadBalancerIP:legacyRemotingSecurityEnabled: falseloadBalancerSourceRanges:- 0.0.0.0/0loadBalancerIP:jmxPort:extraPorts: []installPlugins:- kubernetes:4219.v40ff98cfb_d6f- workflow-aggregator:596.v8c21c963d92d- git:5.2.2- configuration-as-code:1807.v0175eda_00a_20installLatestPlugins: trueinstallLatestSpecifiedPlugins: falseadditionalPlugins: []initializeOnce: falseoverwritePlugins: falseoverwritePluginsFromImage: trueprojectNamingStrategy: standardenableRawHtmlMarkupFormatter: falsemarkupFormatter: plainTextscriptApproval: []initScripts: {}initConfigMap:existingSecret:additionalExistingSecrets: []additionalSecrets: []secretClaims: []cloudName: "kubernetes"JCasC:defaultConfig: falseoverwriteConfiguration: falseconfigUrls: []configScripts: {}security:apiToken:creationOfLegacyTokenEnabled: falsetokenGenerationOnCreationEnabled: falseusageStatisticsEnabled: truesecurityRealm: |-local:allowsSignup: falseenableCaptcha: falseusers:- id: "${chart-admin-username}"name: "Jenkins Admin"password: "${chart-admin-password}"authorizationStrategy: |-loggedInUsersCanDoAnything:allowAnonymousRead: falsecustomInitContainers: []sidecars:configAutoReload:enabled: falseimage:registry: docker.iorepository: kiwigrid/k8s-sidecartag: 1.27.1imagePullPolicy: IfNotPresentresources: {}scheme: httpskipTlsVerify: falsereqRetryConnect: 10sleepTime:envFrom: []env: {}sshTcpPort: 1044folder: "/var/jenkins_home/casc_configs"containerSecurityContext:readOnlyRootFilesystem: trueallowPrivilegeEscalation: falseadditionalSidecarContainers: []schedulerName: ""nodeSelector: {}tolerations: []terminationGracePeriodSeconds:terminationMessagePath:terminationMessagePolicy:affinity: {}priorityClassName:podAnnotations: {}statefulSetAnnotations: {}updateStrategy: {}ingress:enabled: falsepaths: []apiVersion: "extensions/v1beta1"labels: {}annotations: {}path:hostName:resourceRootUrl:tls: []secondaryingress:enabled: falsepaths: []apiVersion: "extensions/v1beta1"labels: {}annotations: {}hostName:tls:backendconfig:enabled: falseapiVersion: "extensions/v1beta1"name:labels: {}annotations: {}spec: {}route:enabled: falselabels: {}annotations: {}path:hostAliases: []prometheus:enabled: falseserviceMonitorAdditionalLabels: {}serviceMonitorNamespace:scrapeInterval: 60sscrapeEndpoint: /prometheusalertingrules: []alertingRulesAdditionalLabels: {}prometheusRuleNamespace: ""relabelings: []metricRelabelings: []googlePodMonitor:enabled: falsescrapeInterval: 60sscrapeEndpoint: /prometheustestEnabled: truehttpsKeyStore:enable: falsejenkinsHttpsJksSecretName: ""jenkinsHttpsJksSecretKey: "jenkins-jks-file"jenkinsHttpsJksPasswordSecretName: ""jenkinsHttpsJksPasswordSecretKey: "https-jks-password"disableSecretMount: falsehttpPort: 8081path: "/var/jenkins_keystore"fileName: "keystore.jks"password: "password"jenkinsKeyStoreBase64Encoded:
agent:enabled: falsedefaultsProviderTemplate: ""jenkinsUrl:jenkinsTunnel:kubernetesConnectTimeout: 5kubernetesReadTimeout: 15maxRequestsPerHostStr: "32"retentionTimeout: 5waitForPodSec: 600namespace:podLabels: {}jnlpregistry:image:repository: "jenkins/inbound-agent"tag: "3248.v65ecb_254c298-1"workingDir: "/home/jenkins/agent"nodeUsageMode: "NORMAL"customJenkinsLabels: []imagePullSecretName:componentName: "jenkins-agent"websocket: falsedirectConnection: falseprivileged: falserunAsUser:runAsGroup:hostNetworking: falseresources:requests:cpu: "512m"memory: "512Mi"limits:cpu: "512m"memory: "512Mi"livenessProbe: {}alwaysPullImage: falserestrictedPssSecurityContext: falsepodRetention: "Never"showRawYaml: truevolumes: []workspaceVolume: {}envVars: []secretEnvVars: []nodeSelector: {}command:args: "${computer.jnlpmac} ${computer.name}"sideContainerName: "jnlp"TTYEnabled: falsecontainerCap: 10podName: "default"idleMinutes: 0yamlTemplate: ""yamlMergeStrategy: "override"connectTimeout: 100annotations: {}additionalContainers: []disableDefaultAgent: falsepodTemplates: {}
additionalAgents: {}
additionalClouds: {}
persistence:enabled: trueexistingClaim:storageClass: openebs-hostpathannotations: {}labels: {}accessMode: "ReadWriteOnce"size: "8Gi"dataSource: {}subPath:volumes: []mounts: []
networkPolicy:enabled: falseapiVersion: networking.k8s.io/v1internalAgents:allowed: truepodLabels: {}namespaceLabels: {}externalAgents:ipCIDR:except: []
rbac:create: truereadSecrets: false
serviceAccount:create: truename:annotations: {}extraLabels: {}imagePullSecretName:
serviceAccountAgent:create: falsename:annotations: {}extraLabels: {}imagePullSecretName:
checkDeprecation: true
awsSecurityGroupPolicies:enabled: falsepolicies:- name: ""securityGroupIds: []podSelector: {}
helmtest:bats:image:registry: "docker.io"repository: "bats/bats"tag: "1.11.0"

在这里插入图片描述

安装完之后 配置EKS

我的是在tools命名空间下
---
apiVersion: v1
kind: ServiceAccount
metadata:name: tools-adminnamespace: tools---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: pod-creatornamespace: tools
rules:
- apiGroups: [""] # "" indicates the core API groupresources: ["pods"]verbs: ["create", "get", "list", "watch", "delete", "update"]---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: tools-admin-rolebindingnamespace: tools
subjects:
- kind: ServiceAccountname: tools-adminnamespace: tools
roleRef:kind: Rolename: pod-creatorapiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: tools-admin-crb
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: tools-adminnamespace: tools---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:annotations:kubernetes.io/service-account.name: tools-adminname: tools-admin-tokennamespace: tools

获取你的token

echo -e "\033[31m$(kubectl -n tools get secret $(kubectl -n tools get secret tools-admin-token | grep tools-admin-token | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)\033[0m"

在这里插入图片描述

登录Jenkins 配置eks的token

在这里插入图片描述

最后pipeline如下
pipeline {agent { kubernetes {inheritFrom 'kubernetes'}}   stages {stage('Get Code') {steps {  git branch: 'main', url: 'http://192.168.0.33:22045/admins/test.git'}}stage('Test-docker....') {steps {       container('test'){withKubeConfig(credentialsId: 'k8s-eks', serverUrl: 'https://01922.gr7.ap-northeast-1.eks.amazonaws.com') {sh 'kubectl delete -f pods.yaml'sh 'kubectl get pods'}}}}}}

运行日志

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#对文件进行批量重命名或者对某个单独的文件进行改名

目录 一、FolderBrowserDialog 二、OpenFileDialog 三、Path 四、ui设计 五、代码部分 一、FolderBrowserDialog FolderBrowserDialog是一个用于选择文件夹的对话框控件,可以在windows Forms应用程序中使用。使用它可以让用户选择一个文件夹,并返…

【编译原理复习笔记】中间语言

中间语言 中间语言的特点和作用 (1)独立于机器 (2)复杂性介于源语言和目标语言之间 中间语言可以使编译程序的结构在逻辑上更为简单明确 常用的中间语言 后缀式 图表示:抽象语法树,有向无环图 三地址代…

【软件设计师】先导

一、考试科目: 上午:计算机与软件工程知识,考试时间150min,75空单选题(不一定一题一空) 下午:软件设计,考试时间150分钟,问答题,6道只做5大题(前四…

【论文阅读】Prompt Fuzzing for Fuzz Driver Generation

文章目录 摘要一、介绍二、设计2.1、总览2.2、指导程序生成2.3、错误程序净化2.3.1、执行过程净化2.3.2、模糊净化2.3.3、覆盖净化 2.4、覆盖引导的突变2.4.1、功率调度2.4.2、变异策略 2.5、约束Fuzzer融合2.5.1、论据约束推理2.5.1、模糊驱动融合 三、评估3.1、与Hopper和OSS…

QTextEdit将多个字符作为一个整体,不可单独修改

考虑一个问题,QTextEdit如何实现类似微信和QQ聊天输入框中的“xxx”效果,其内容作为一个整体,以突出颜色显示,并且不可以单独编辑修改,只能整体删除修改。 突出颜色显示有很多方式可以实现,例如 通过setT…

Rust学习心得

我分享一下一年的Rust学习经历,从书到代码都一网打尽。 关于新手如何学习Rust,我之前在Hacker News上看到了这么一篇教程: 这篇教程与其他教程不同的时,他不是一个速成教程,而是通过自己的学习经历,向需要…

记录一次Netty的WSS异常

概述 业务场景 应用通过 WSS 客户端连接三方接口。在高并发压测时,出现了请求服务器写入失败的异常,该异常是偶发,出现的概率不到千分之一,异常如下图所示。 问题概述 注意: 因为握手是通过 http 协议进行的。所以…

tcpdump源码分析

进入tcpdump.c(函数入口)之前,先看一些头文件netdissect.h里定义了一个数据结构struct netdissect_options来描述tcdpump支持的所有参数动作,每一个参数有对应的flag, 在tcpdump 的main 里面, 会根据用户的传入的参数来…

鸿蒙ArkTS声明式开发:跨平台支持列表【触摸事件】

触摸事件 当手指在组件上按下、滑动、抬起时触发。 说明: 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独…

总是等不是办法,向媒体投稿你得学会用新方法

初入信息宣传领域,我怀揣着对文字的热爱与传播价值的热情,肩负起了单位活动的宣传报道重任。那时的我,满脑子都是传统的投稿思维:精心撰写每一篇稿件,然后逐一搜寻各大媒体的投稿邮箱,一封封邮件满怀期待地发出,像播撒希望的种子,渴望在广袤的媒体土壤中生根发芽。然而,理想很丰…

红蓝对抗-HW红蓝队基本知识(网络安全学习路线笔记)

第一, 什么是蓝队 蓝队,一般是指网络实战攻防演习中的攻击一方。 蓝队一般会采用针对目标单位的从业人员,以及目标系统所在网络内的软件、硬件设备同时执行多角度、全方位、对抗性的混合式模拟攻击手段;通过技术手段实现系统提权、控制业务、…

将点位转换为圆环极坐标绘画

将一段染色体可视化为一个圆环,根据一段基因的起始点和终止点绘画,根据基因的方向绘画箭头,可以任意确定染色体哪个位置在哪个角度上,例如染色体的1700点位在180上,默认是顺时针方向从起始点向终止点绘画。 1.将一段染色体的基因数组加上极坐标绘画属性 function compute…

pycharm连接阿里云服务器过程记录

因为不想用自己的电脑安装anaconda环境,所以去查了一下怎么用服务器跑代码,试着用pycharm连接阿里云服务器,参考了很多博客,自己简单配置了一下,记录一下目前完成的流程. 主要是:阿里云服务器的远程登录和安装anaconda,以及怎么用pycharm连接阿里云服务器上的解释器. 小白刚开始…

Day 3:1738. 找出第 K 大的异或坐标值

Leetcode 1738. 找出第 K 大的异或坐标值 给你一个二维矩阵 matrix 和一个整数 k &#xff0c;矩阵大小为 m x n 由非负整数组成。 矩阵中坐标 (a, b) 的 值 可由对所有满足 0 < i < a < m 且 0 < j < b < n 的元素 matrix[i][j]&#xff08;下标从 0 开始计…

Dou音滑块日志分析

记得加入我们的学习群&#xff1a;961566389 点击链接加入群聊&#xff1a;[https://h5.qun.qq.com/s/62P0xwrCNO](https://h5.qun.qq.com/s/62P0xwrCNO) 1.插桩-打印日志 获取背景和滑块的图片的接口一看没啥参数需要逆向的 验证的接口body参数需要进行逆向&#xff0c;直接…

浅谈Docker容器的网络通信原理

文章目录 1、回顾容器概念2、容器网络3、容器与主机之间的网络连通4、交换机的虚拟实现---虚拟网桥&#xff08;Bridge&#xff09;5、Docker 守护进程daemon管理容器网络 1、回顾容器概念 我们知道容器允许我们在同一台宿主机&#xff08;电脑&#xff09;上运行多个服务&…

moviepy入门

1. 简介 由于恶心的工作和没有规划的部门安排&#xff0c;我被排到了算法部门&#xff0c;从事和算法没有半毛钱关系的业务上&#xff0c;也就是。。。搞视频。咋说呢&#xff1f;视频这东西我没有一点基础&#xff0c;还好有前人写好的代码&#xff0c;用的是moviepy和ffmpeg…

Zoho Campaigns邮件营销怎么发邮件?

Zoho Campaigns&#xff0c;作为业界领先的邮件营销平台&#xff0c;以其强大的功能、用户友好的界面以及深度的分析能力&#xff0c;为企业提供了一站式的邮件营销解决方案&#xff0c;助力企业高效地触达目标受众&#xff0c;构建并巩固庞大的客户基础。云衔科技为企业提供Zo…

数据结构(四)

数据结构&#xff08;四&#xff09; 算法算法的特征算法和程序的区别怎么样评判一个算法的好坏 常见的查找算法线性树状哈希查找构建哈希函数的方法质数求余法解决冲突 算法 一堆指令的有序集合 算法的特征 唯一性&#xff1a;每一句话只有一种解释 有穷性&#xff1a;算法能…

企业活动想找媒体报道宣传怎样联系媒体?

在那遥远的公关江湖里,有一个传说,说的是一位勇士,手持鼠标和键盘,踏上了寻找媒体圣杯的征途。这位勇士,就是我们亲爱的市场部门小李,他的任务是为公司即将举行的一场盛大的企业活动找到媒体的聚光灯。 小李的故事,开始于一张空白的Excel表格,上面列着各大媒体的名称,旁边是一片…