侧边栏壁纸
博主头像
不负韶华,以梦为马 博主等级

行动起来,活在当下

  • 累计撰写 16 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

kubesphere中安装nodejs的agent

better2smile
2025-01-16 / 0 评论 / 0 点赞 / 91 阅读 / 0 字 / 正在检测是否收录...

一、参考教程

https://www.cnblogs.com/yuwen01/p/18067005

https://blog.csdn.net/qq_39017153/article/details/135837462

二、安装glibc-2.28

由于node v18开始 都需要GLIBC_2.27支持

# 1.下载原生镜像
docker pull kubesphere/builder-nodejs:v3.2.0
docker run -itd kubesphere/builder-nodejs:v3.2.0 /bin/bash
docker exec -it 容器id /bin/bash
# 参考 https://www.cnblogs.com/yuwen01/p/18067005 升级glibc等组件
# 2.升级gcc与make
# 升级GCC(默认为4 升级为8)</span>
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc*
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
# 3.升级 make(默认为3 升级为4)
wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
tar -xzvf make-4.3.tar.gz && cd make-4.3/
./configure  --prefix=/usr/local/make
make && make install
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make
# 4.安装bison
yum install -y bison
# 5.更新libstdc++.so.6.0.26 
wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26
cp libstdc++.so.6.0.26 /usr/lib64/
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6
# 6.安装glibc-2.28
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz 
cd glibc-2.28/ && mkdir build  && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
#7.设置编码
localedef -i en_US -f UTF-8 en_US.UTF-8

三、安装新的nodejs

# 安装nodejs
npm cache clean -f
npm install -g n
n 20.17.0
npm install -g yarn

四、打成镜像

#退出容器
exit
#将容器打成镜像
docker commit 容器id 172.17.100.90:80/library/nodejs20:v1.0.0
docker login 172.17.100.90:80 -u admin
docker push 172.17.100.90:80/library/nodejs20:v1.0.0

五、配置kubesphere中的agent

在配置字典中找到jekins-casc-config

QQ_1737075745425

在yaml中编辑,添加如下内容

              - name: "nodejs20"
                label: "nodejs20"
                inheritFrom: "nodejs"
                containers:
                - name: "nodejs"
                  image: "172.17.100.90:80/library/nodejs20:v1.4.0"

六、在devops中查看是否已经存在nodejs20

QQ_1737076146152

如果不存在尝试重启下devops-jenkins的容器,也可以不重启,直接使用

pipeline {
  agent {
    node {
      label 'nodejs20'
    }

  }
  stages {
    stage('stage-gweq5') {
      agent none
      steps {
        container('nodejs') {
          sh 'node -v'
        }

      }
    }

  }
}

0

评论区