首页 > 其他分享 >jenkins 整合k8s

jenkins 整合k8s

时间:2022-10-15 21:34:56浏览次数:47  
标签:rsa ssh 整合 jenkins k8s root id

1. jenkins 添加SSH Server ,把k8s的master主机添加进k8s。

 

 

 

 

2. 将pipeline文件添加进gitab,并且增加tag标签

 

3. 修改jenkinsfile文件stage步骤。

 

 

 

4. 配置ssh 无密码登入,生成公钥和秘钥

[root@localhost .ssh]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dEOIy7GOvXLWhwb3r4o3gtcGJmX+iyqMGlSMviBJqvY root@localhost
The key's randomart image is:
+---[RSA 2048]----+
|       . ..      |
|  o   o ..       |
| o o . +. o      |
|+..   *. . .     |
|=o   B  S        |
|= . o B .        |
|o=   + O o       |
|o.+ o *oX o      |
|o  E.*o=o=.o.    |
+----[SHA256]-----+

 

4. 把 /root/.ssh中的id_rsa.pub 拷贝到需要登入的目标服务器中的/root/.ssh/ authorized_keys

[root@localhost .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyrgSRxWn5kuTtKMbVVEM/PITxbkkRoulrymPlz4CJ9fNwXgRul0v0hIy1vR6W0Y+7IfpmBnp1b8gwVjQskUvIEQUfy243G5Oca5E1M5aRFS/qqtGZaQNYqIiS+kk/3oFJm7xn8vGnpqjGOgPdeVhnrHYzAO37q+ZtXxZNbsiGSmsVM+6ykmPeAyZg7sTDYWvD8aovTFL67wgWTA8lKDbx8yBoZWIxPHFbh4T0np
l8S5dLZhGfoPIIFaji56KHixueOjWmlgcJIdjorIKtMfCHSkaWMaD4nfUTbdwzZuFPjMLjW5z1oHS8r49/bf7Wc+7MI5sbiJNgJ1yh2jwp7W9v

[root@k8s-master01 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyrgSRxWn5kuTtKMbVVEM/PITxbkkRoulrymPlz4CJ9fNwXgRul0v0hIy1vR6W0Y+7IfpmBnp1b8gwVjQskUvIEQUfy243G5Oca5E1M5aRFS/qqtGZaQNYqIiS+kk/3oFJm7xn8vGnpqjGOgPdeVhnrHYzAO37q+ZtXxZNbsiGSmsVM+6ykmPeAyZg7sTDYWvD8aov
TFL67wgWTA8lKDbx8yBoZWIxPHFbh4T0npl8S5dLZhGfoPIIFaji56KHixueOjWmlgcJIdjorIKtMfCHSkaWMaD4nfUTbdwzZuFPjMLjW5z1oHS8r49/bf7Wc+7MI5sbiJNgJ1yh2jwp7W9v

 

5.测试是否成功。

[root@localhost .ssh]# ssh [email protected] ls /usr/local/k8s
pipeline.yml

6.生成pipeline流水线脚本

 

 

 

 

7.修改jenkinfile,添加步骤。

stage('远程执行k8s-master的kubectl命令') {
            steps {
                sh 'ssh [email protected] kubectl apply -f /usr/local/k8s/pipeline.yml'
            }
        }

 

8. 统一jenkinsfile和pipeline文件中的版本。

 

 

 

 

9. 编译后报错,故障原因为

首先确认

  1. Jenkins的Git使用的ssh, 不需要预先记录known_hosts, 配置好就可以直接用
  2. SSH Agent必须要先在命令行下访问一下对方IP, 记录了known_hosts后, 才能正常使用因为安装为服务的Jenkins使用的是jenkins用户,而且是/bin/false的用户, 不能像普通用户那样登录然后ssh一下对方IP, 你需要按以下方式处理

 

 

 [root@localhost .ssh]# su -s /bin/bash jenkins

bash-4.2$ cd /var/lib/jenkins/.ssh/

bash-4.2$ ssh [email protected]
Last login: Sat Oct 15 19:28:07 2022 from 192.168.30.107

# 查看.ssh下是否已经有known_hosts, 有的话, 是什么内容, 正常情况下, 这时候是没有对应IP记录的

[root@localhost .ssh]# cat known_hosts
192.168.30.117 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNjhibYp5lVtJpJePhjiSNrbA4xqJh7VvZ+2tZnPGHHCitf1Qh6w3IklhugTPe/03

 

10 编译后第二个报错

 

 因为使用ssh执行命令和登录后执行Linux所加载的环境变量不同,在使用ssh执行命令时没有加载/etc/profile的环境变量。

vim /root/.bashrc 添加如下行。

 

标签:rsa,ssh,整合,jenkins,k8s,root,id
From: https://www.cnblogs.com/fenghua001/p/16795076.html

相关文章

  • 【云原生】Spark on k8s 讲解与实战操作
    目录一、概述二、开始Sparkonk8s运行原理三、Spark运行模式1)cluster模式2)client模式四、开始Sparkonk8s编排1)下载Spark包2)构建镜像3)配置spark用户权限4)提交Sp......
  • k8s上的 部署TiDB 集群
    k8s上的部署TiDB集群一、k8s环境准备略二、k8s上部署TiDB2.1、部署StorageClass-nfs方案sc种类很多,模拟的话此处就有较为简单的nfs类型的sc#nfs部署方案http......
  • 自动化测试 - mac安装jenkins并安装allure插件,构建执行pytest自动化用例并产出allure
    背景:jenkins+pytest+allure,产出自动化测试结果步骤如下:一、mac安装jenkins1.方法一:(不推荐,跳过)安装tomcat下载jenkins并放到tomcat的www目录2.方法二:brew安装......
  • docker和k8s
    docker仓库地址https://hub.docker.com/常用命令dockerpullmongodockerimagesdockerupdatecontainer-name--restart=alwaysdockercprabbitmq_delayed_mes......
  • spring boot项目整合spring swagger
    1.环境-springboot版本:2.7.4-springswagger版本:3.0.0-java版本:82.具体操作2.1引入springswagger的依赖<dependency><groupId>io.spri......
  • k8s将dockershim移除之后,如何继续使用docker?
     从哪里移除 说说这个前提,就是k8s宣布将dockershim给移除了这么个点 为什么要移除说白了,就是k8s是想建立标准的,通过的CRI,容器运行的接口,不仅仅可以支持d......
  • Centos7安装配置jenkins
    安装前准备注:jenkins依赖jdk环境,需提前安装配置(如已安装请跳过)一、jdk8安装配置jdk8下载地址:https://www.oracle.com/java/technologies/javase/jdk8-arm-downloads.htm......
  • Vue--整合mavon-editor编辑器(markdown编辑和预览)
    简介说明    本文介绍Vue如何使用markdown编辑器。        mavon-editor是目前比较主流的markdown编辑器,本文介绍它的使用方法。官网网址​​https://githu......
  • springboot整合easyExcel实现不固定列导入
    1、pom.xml文件引入easyExcel<!--阿里开源easyExcel依赖--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><versio......
  • SpringBoot整合
    1、JedisPoolConfig(这个是配置连接池)2、RedisConnectionFactory这个是配置连接信息,这里的RedisConnectionFactory是一个接口,我们需要使用它的实现类,在SpringData......