Require:离线部署 Sourcegraph

Sourcegraph 使读取、编写和修复代码变得容易——即使在庞大而复杂的代码库中。

  • 代码搜索:搜索所有分支和所有代码主机的所有存储库。
  • 代码智能:导航代码、查找引用、查看代码所有者、跟踪历史记录等。
  • 修复和重构:一次对许多存储库进行大规模更改并跟踪大规模迁移。

1,Helm 安装

Helm 是 Kubernetes 的包管理工具,常被称为“Kubernetes 的 apt 或 yum”。它简化了应用在 Kubernetes 中的部署和管理,通过称为 Helm Charts 的模板化包提供一键式的应用安装、升级和版本管理。Helm 支持定义复杂的 Kubernetes 资源,帮助开发者和运维人员以可重复和可维护的方式管理集群中的应用程序,同时还提供了回滚功能,允许轻松恢复到之前的版本,非常适合 DevOps 和 CI/CD 流程。

  • 官网:Releases · helm/helm · GitHub

  • 下载所需版本:helm-v3.16.4-linux-amd64.tar.gz。
wget https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz
  • 解压缩
tar -zxvf helm-v3.16.4-linux-amd64.tar.gz
  • helm在解压后的目录中找到二进制文件,然后将其移至所需的目标位置,这样任何目录都可以使用 helm。
mv linux-amd64/helm /usr/local/bin/helm
  • 验证:
helm version
  • 常用操作:
// 阿里镜像
helm repo add ali-incubator     https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/  
helm repo add ali-stable    https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts  // Git Pages 镜像
helm repo add stable https://burdenbear.github.io/kube-charts-mirror/// 官方镜像
helm repo add stable https://charts.helm.sh/stable// 微软库
helm repo add stable http://mirror.azure.cn/kubernetes/charts/// google仓库
helm repo add stable https://kubernetes-charts-incubator.storage.googleapis.com/// 更新仓库
helm repo update// 查看库
helm repo list
helm search repo stable// 删除库
helm repo remove aliyu

2,K3S 安装

K3s 是由 Rancher Labs 开发的轻量级 Kubernetes 发行版,专为边缘计算、物联网(IoT)设备以及资源受限的环境设计。它通过去除不必要的组件(如 Alpha 功能和部分云供应商插件),简化了安装和运行,同时将所有必要的服务打包成一个二进制文件,极大地减少了资源消耗。

  • 从官网下载二进制文件 k3s & 镜像文件 k3s-airgap-image-*.tar:Releases · k3s-io/k3s · GitHub
wget https://github.com/k3s-io/k3s/releases/download/v1.31.4%2Bk3s1/k3s-airgap-images-amd64.tar
wget https://github.com/k3s-io/k3s/releases/download/v1.31.4%2Bk3s1/k3s
  • 将 tar 文件放在 images 目录下。
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
  • 将 k3s 二进制文件放在 /usr/local/bin/k3s 路径下,并确保拥有可执行的权限。
sudo cp k3s /usr/local/bin/
sudo chmod +x /usr/local/bin/k3s
  • 下载 k3s 安装脚本:https://get.k3s.io,将安装脚本放在每个离线节点的任意地方,并命名为 ​install.sh​。
vim install.sh

当使用 ​INSTALL_K3S_SKIP_DOWNLOAD ​环境变量运行 K3s 脚本时,K3s 将使用本地的脚本和二进制。

  • 要在单个服务器上安装 K3s,只需在 server 节点上执行以下操作。
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh[INFO]  Skipping k3s download and verify
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
  • 设置KUBECONFIG环境变量。
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
  • 查看K3S配置:
kubectl config view
  • 清空所有pods:
kubectl delete pod <pod-name>
kubectl delete pod --all -n <namespace>
  • 查看所有节点、服务、pods:
kubectl get nodes
kubectl get svc --all-namespaces
kubectl get pods --all-namespaces
  • 重启K3S:
systemctl daemon-reload && systemctl restart k3s

3,SourceGraph 在线安装

  • 配置 SourceGraph Chart
helm repo add sourcegraph https://helm.sourcegraph.com/releasehelm install --version 5.9.1590 sourcegraph sourcegraph/sourcegraph
  • 查看 k3s pods 的运行状态
kubectl get pods --all-namespaces
// 查看 Pods 的详细信息
kubectl describe pod <pod-name> -n <namespace>kubectl describe pod sourcegraph-frontend-5f6769dc78-c46kw -n defaultEvents:会显示调度失败的原因。
Conditions:查看 Pod 的 Ready 状态。
  •  查看报错原因:  Warning  Failed            4s                   kubelet            Failed to pull image  "index.docker.io/sourcegraph/precise-code-intel- worker:5.9.1590": failed to pull and unpack image "docker.io/sourcegraph/precise-code-intel-worker:5.9.1590": failed to resolve reference "docker.io/sourcegraph/precise-code-intel-worker:5.9.1590": failed to do request: Head "https://registry-1.docker.io/v2/sourcegraph/precise-code-intel-worker/manifests/5.9.1590": dial tcp 108.160.166.62:443: i/o timeout
  • 修整 Docker 镜像:
kubectl edit pods precise-code-intel-worker-8546fcf697-f9r97// 替换
index.docker.io/sourcegraph/blobstore:5.9.1590@sha256:e0a170cbc4ecab83ed0471273c2632394a602dea1817e698affc72c14c7469ca
↓
hub.geekery.cn/sourcegraph/blobstore:5.9.1590
  • 强制重启:删除 Pending 的 Pod,让 Kubernetes 重新调度。
kubectl delete pod <pod-name> -n <namespace>kubectl delete pod sourcegraph-frontend-5f6769dc78-c46kw -n default

4,SourceGraph 离线安装

  • 安装 Docker,参考:Docker容器与虚拟机的区别、优势及实战-CSDN博客
  • 下载部署文件:Releases · sourcegraph/deploy · GitHub ,得到 .zip 文件。
  • 上传至 /非root用户/$HOME/deploy(如果目录不存在,则创建)。
  • 上传 SourceGraph 安装脚本到同样目录。
  • 上传 sourcegraph-charts.tgz 到 /

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

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

相关文章

element ui--下拉根据拼音首字母过滤

很多场景下我们的下拉不仅仅要根据选项中的字过滤&#xff0c;还要根据拼音首字母过滤&#xff0c;现在我们来实现下。 要获取汉字拼音&#xff0c;可以用pinyin-pro库来实现 1.导入拼音库 npm install pinyin-pro 下面的代码可以获取companyName的拼音&#xff0c;返回的是…

《QT 5.14.1 搭建 opencv 环境全攻略》

《QT 5.14.1 搭建 opencv 环境全攻略》 一、引言二、准备工作&#xff08;一&#xff09;软件下载&#xff08;二&#xff09;系统环境确认 三、安装 QT 5.14.1&#xff08;一&#xff09;安装包下载与运行&#xff08;二&#xff09;环境变量配置 四、OpenCV 安装与配置&#…

python实现根据搜索关键词爬取某宝商品信息

当程序打开淘宝登陆页面后&#xff0c;需要快速手动登录淘宝&#xff0c;如果服务报错&#xff0c;需要重新登录&#xff01; pip安装库 pip install pyquery pip install selenium pip install openpyxl # 代码说明&#xff1a;代码功能&#xff1a; 基于ChromeDriver爬取tao…

Vue3 中使用axios

1.安装axios、js-cookie、pinia axios命令行&#xff1a; npm install axios js-cookie命令行&#xff1a; npm install js-cookie store命令行&#xff1a; npm install pinia 2.配置文件 (1)缓存文件配置 src/plugins/auth.js const sessionCache {set (key, valu…

从AI换脸到篡改图像,合合信息如何提升视觉内容安全?

本文目录 引言一、AI“真假之战”下的发展现状与考验挑战1.1 视觉内容安全现状与技术分类1.2视觉内容安全企业1.3视觉内容安全领域挑战 二、开山之石&#xff1a;引领视觉内容安全的创新之路2.1合合内容安全系统2.2发起编制相关技术规范2.3参与篡改检测挑战赛 三、视觉内容安全…

IBatis和MyBatis在细节上的不同有哪些

iBatis 和 MyBatis 都是流行的 Java 持久化框架&#xff0c;用于简化数据库交互。MyBatis 是从 iBatis 演化而来&#xff0c;MyBatis 在 iBatis 的基础上做了很多改进和优化&#xff0c;因此两者在设计和功能上存在一些差异。以下是它们在细节上的主要区别&#xff1a; 1. 框架…

解决Ubuntu下无法装载 Windows D盘的问题

电脑安装了 Windows 和 Ubuntu 24.04 后&#xff0c;在Ubuntu系统上装载 D盘&#xff0c;发现无法装载错误如下&#xff1a; Error mounting /dev/nvme0n1p4 at /media/jackeysong/Data: wrong fs type, bad option, bad superblock on /dev/nvme0n1p4, missing codepage or h…

STM32-笔记10-手写延时函数(SysTick)

1、什么是SysTick Systick&#xff0c;即滴答定时器&#xff0c;是内核中的一个特殊定时器&#xff0c;用于提供系统级的定时服务。该定时器是一个24位的倒计数定时器‌。它从设定的初值&#xff08;即重载值&#xff09;开始计数&#xff0c;每经过一个系统时钟周期&#xff0…

“AI+Security”系列第4期(一)之“洞” 见未来:AI 驱动的漏洞挖掘新范式

在数字化浪潮下&#xff0c;安全漏洞问题日益严峻&#xff0c;成为各行业发展的重大挑战。近日&#xff0c;“AISecurity” 系列第 4 期线下活动于北京成功举办&#xff0c;聚焦 “洞” 见未来&#xff1a;AI 驱动的漏洞挖掘新范式&#xff0c;汇聚了安全领域的众多专家。 本次…

LeetCode 热题 100_LRU 缓存(35_146_中等_C++)(哈希表 + 双向链表)(构造函数声明+初始化列表=进行变量初始化和赋值)

LeetCode 热题 100_LRU 缓存&#xff08;35_146&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;代码实现&#xff08;思路一&#xff08;哈希表 双向链表&#xff09;&#xff09;&#xff1a;部分代码解读 题目描述&#xf…

攻防世界 PHP2

开启场景 访问 /index.php&#xff0c;页面无变化 访问 /index.phps index.php 和 index.phps 文件之间的主要区别在于它们的文件扩展名。 index.php&#xff1a;这是一个标准的 PHP 文件&#xff0c;通常用于编写 PHP 代码。当用户访问 index.php 文件时&#xff0c;Web 服务器…

AI应用-本地模型实现AI生成PPT(简易版)

文章目录 前言技术栈效果展示 一、实现思路二、实现步骤1.本地安装marp-cli2.后端实现3.前端实现 三、代码地址及说明 前言 在许多项目中&#xff0c;生成 PPT 是常见的需求&#xff0c;尤其在教育和报告展示中。传统的生成 PPT 的方法需要手动创建&#xff0c;而使用生成模型…

项目2路由交换

背景 某学校为满足日常教学生活需求&#xff0c;推动数字校园的建设&#xff0c;学校有办公楼和学生宿舍楼和服务器集群三块区域&#xff0c;请合理规划IP地址和VLAN&#xff0c;实现企业内部能够互联互通现要求外网能通过公网地址访问服务器集群&#xff0c;学生和老师能正常…

快速掌握Haproxy原理架构

文章目录 一、原理架构二、无负载均衡三、四层负载均衡的工作流程四、七层负载均衡工作流程五、基础属性mode 属性retries 属性maxconn 属性clitimeout 属性servtimeout 属性states uri 属性 一、原理架构 四层tcp代理&#xff1a;Haproxy仅在客户端和服务器之间双向转发流量&…

02、并发编程的三大特性

并发编程有三大特性分别是&#xff0c;原子性&#xff0c;可见性&#xff0c;有序性。会产生这些特性的根本原因是现在的服务器都是多CPU多核心数的&#xff0c;每个CPU都有自己单独的一套缓存和pc系统&#xff0c;而且程序在运行时按照JMM的规范&#xff0c;它们是需要先把数据…

企业数字化转型和人工智能(AI)之间的关系

企业数字化转型和人工智能&#xff08;AI&#xff09;之间的关系可以被理解为 “驱动与支撑” 的关系&#xff1a;AI 是数字化转型的重要技术驱动力&#xff0c;而数字化转型为 AI 的应用提供了场景和数据支持。两者相辅相成&#xff0c;共同推动企业向智能化发展。 数字化转型…

STM32和精准的型号STM32F03C8T6 ——ADC通道数目区别

注意表达方式的区别 5&#xff0e;STM32芯片内部集成的&#xff08;12&#xff09;位ADC是一种逐次逼近型模拟数字转换器&#xff0c;具 有&#xff08;18&#xff09;个通道&#xff0c;可测量&#xff08;16&#xff09;个外部和(2)个内部信号源。 书上原话&#xff1a;STM32…

【项目构建】Gradle入门

本文适用&#xff1a; 不知道什么是项目构建&#xff0c;可以了解下Ant&#xff0c;Maven&#xff0c;Gradle的区别。知道什么是项目构建&#xff0c;了解Ant&#xff0c;Maven&#xff0c;可以看到Gradle是怎么做的。知道什么是项目构建&#xff0c;了解Ant&#xff0c;Maven&…

java栈--数据结构

前言 java实现数据结构栈&#xff1a;用顺序表存储的栈和数组存储的栈。 本文源代码网址&#xff1a;https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack 栈…

2.5.2 文件结构、目录及存取

文章目录 文件结构文件目录存取 文件结构 文件结构是文件的组织形式。从用户角度观察到的结构是逻辑结构&#xff0c;从机器实现存储的角度观察&#xff0c;看到的是物理结构。 逻辑结构 有结构的记录式文件&#xff1a;文件中记录的长度都相同&#xff0c;称为定长记录。文件…