Nocalhost 为 KubeSphere 提供更强大的云原生开发环境

1 应用商店安装

Nocalhost Server 已集成在 KubeSphere 应用商店,直接访问:

image-20240110144929312

设置应用「名称」,确认应用「版本」和部署「位置」,点击「下一步」:

在「应用设置」标签页,可手动编辑清单文件或直接点击「安装」。建议把 service.type 设置为 ClusterIP,以确保安装不受 Kubernetes 网络环境影响。

可结合自身研发环境来选择使用 NodePort 或 LoadBalancer 服务类型来暴露 Nocalhost Server。

完成操作,开始创建:

片刻后:

2 暴露服务

进入「应用负载」下的「服务」页面,选择 nocalhost-web 服务,在最右侧的拉下菜单中选择「编辑外部访问」:

在弹出的对话框中选择合适当前云端网络环境的外网「访问方式」,然后点击「确定」即可应用服务配置:

完成 Kubesphere 中快速部署 Nocalhost Server。

3 使用 Nocalhost Server

设置应用路由(NodePort 访问的前提下)

创建新的应用路由规则:

若是集群外的应用访问,还需配置本地的 hosts 文件:

点击访问服务:

打开 Nocalhost Server Dashboard 页面:

默认账号 admin@admin.com 及密码 123456 登录。

4 创建集群

Nocalhost Server 多用于管理整个团队的 Nocalhost 研发环境,先要添加可进行管理的集群。

「集群」->「添加集群」。

输入kubectl 可用的、具备 cluster-admin 权限的 kubeconfig 文件后「确认」:

如何获取目标集群的 kubeconfig?

可在 KubeSphere 集群页面,获取当前集群的 kubeconfig 文件。若使用 kubeconfig 文件的应用部署在当前集群外,需将 clusters:cluster:server 参数值改为对外暴露的 KubernetesAPI 服务器地址。

添加成功后,可得到如下集群信息页:

5 创建开发空间(DevSpace)

「开发空间」选择「创建开发空间」:

选择「创建隔离开发空间」:

填写「开发空间名称」(这里置 test),选择「集群」和其「所有者」,并按需进行「其它设置」:

创建完成后,在「开发空间」页面看到已创建的隔离开发空间:

6 创建 bookinfo 样例应用

为团队创建一些可部署的应用,「应用」选择「添加应用」:

填写「应用名称」:

  • 选择 Git 作为「安装来源」

  • 输入 https://github.com/nocalhost/bookinfo.git 作为「Git 仓库地址」

  • 选择 Manifest 作为「Manifest 类型」「应用配置文件」留空,即使用默认值 config.yaml

  • 「Git 仓库的相对路径」填入 manifest/templates

7 创建用户并共享开发空间

创建一个样例用户演示如何共享开发空间。

「用户」页,点击「添加用户」,填入必须信息后「完成」:

回到开发空间,选择之前创建的 test 空间,点击画笔图标:

进入「编辑开发空间」的「共享用户」标签页,开始「添加共享」。

选择要添加的用户,选择默认的 Cooperator 协作者权限(Viewer观察者权限的用户只能浏览开发空间):

配置结束,进入 IDE 利用 Nocalhost 插件执行应用的部署及开发体验。

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都国企技术专家兼架构,多家大厂后台研发和架构经验,负责复杂度极高业务系统的模块化、服务化、平台化研发工作。具有丰富带团队经验,深厚人才识别和培养的积累。

参考:

  • 编程严选网

    本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

【Tricore】基于主流芯片, 浅谈ECU多核架构与“核间通信”

文章目录 概要 整体架构 简单聊聊什么是多核架构和“核间通信”

力扣labuladong——一刷day91

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣208. 实现 Trie (前缀树)二、力扣648. 单词替换 前言 Trie 树又叫字典树、前缀树、单词查找树,是一种二叉树衍生出来的高级数据结构&#x…

2024.1.13

今天想开个新坑,于是我就开始学习数据结构了,那玩意怎么说呢,挺抽象的东西,有点难懂,我就一边做笔记一边暂停,就这么硬学,数据结构确实是编程中一个十分重要的东西,必须给他拿下昂。…

#每日一题#力扣#2085.统计出现过一次的公共字符串

给你两个字符串数组 words1 和 words2 ,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 示例 1: 输入:words1 [“leetcode”,“is”,“amazing”,“as”,“is”], words2 [“amazing”,“leetcode”,“is”] 输出:…

HCIP-1

一、网络类型: 点到点 BMA:广播型多路访问 – 在一个MA网络中同时存在广播(洪泛)机制 NBMA:非广播型多路访问—在一个MA网络中,没有洪泛机制 MA:多路访问 在一个网段内,存在的节…

大模型实战营Day4 XTuner 大模型单卡低成本微调实战

本次讲师是一位从事算法工作的优秀贡献者。 一起来看看吧! 本次课程内容主要有: 我将在此整理前三节的内容,第四节放在作业章节进行讲解: 同第三节的建立数据库中所提及到的,如果通用大模型在专用领域表现能力不强&…

MySQL操作手册:高效管理、轻松查询!

MySQL操作手册:高效管理、轻松查询! 文章目录 MySQL操作手册:高效管理、轻松查询!1、常用SQL命令1.1 数据库操作1.2 表操作1.3 数据操作1.4 索引操作1.5 权限管理1.5.1 创建用户1.5.2 授予权限1.5.3 撤销权限1.5.4 刷新权限 2、常…

普通两样本孟德尔随机化仍能发一区! | 孟德尔随机化周报(1.03-1.09)

欢迎报名2024年孟德尔随机化方法高级班课程! 郑老师团队开设的孟德尔随机化高级班2024年1月20-21日开课,欢迎报名 孟德尔随机化,Mendilian Randomization,简写为MR,是一种在流行病学领域应用广泛的一种实验设计方法,利…

【C++ 程序设计入门基础】- 第4节-函数

1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…

分享一个好用的免费在线扣图网址

具体效果 附地址 https://cutout.aiwave.cc/

洛谷 P8443 gcd.

题目描述 T T T 组数据&#xff0c;每一组数据给定 l , r , x l,r,x l,r,x&#xff0c;试求&#xff1a; gcd ⁡ ( ⌊ l x ⌋ , ⌊ l 1 x ⌋ , ⋯ , ⌊ r x ⌋ ) \gcd(\lfloor \frac{l}{x}\rfloor,\lfloor \frac{l1}{x}\rfloor,\cdots,\lfloor \frac{r}{x}\rfloor) gcd(⌊xl​…

dpdk20.11.9 编译arm版本以及在arm 应用中引用dpdk20.11.9

以往19版本的dpdk 都是可以直接用make 的方式进行编译, e.g, make Tx86_64-native-linux-gcc install 为了和客户那边用的DPDK 版本一致, 这次要用dpdk20.11.9, 并且要把之前跑在X86 版本的服务器上的程序跑在ARM 版本上. 目前有两个问题: 1. 编译出arm 版本的dpdk. 2. 把…

程序员副业之AI文库项目(超详细完整全流程)

引言 大家好&#xff0c;我是小黑&#xff0c;今天给大家介绍一个特别简单的项目&#xff0c;用AI辅助咱们来编写各种word&#xff0c;PPT等资料上传到百度文库、原创力、道客巴巴、csdn等平台赚取被动的睡后收益。 但要注意&#xff0c;只是辅助&#xff0c;即便是用AI辅助&…

Flink窗口(2)—— Window API

目录 窗口分配器 时间窗口 计数窗口 全局窗口 窗口函数 增量聚合函数 全窗口函数&#xff08;full window functions&#xff09; 增量聚合和全窗口函数的结合使用 Window API 主要由两部分构成&#xff1a;窗口分配器&#xff08;Window Assigners&#xff09;和窗口函…

【力扣100】20.有效的括号 || 栈

添加链接描述 class Solution:def isValid(self, s: str) -> bool:if len(s)%2!0:return Falsestack[]dic{")":"(","]":"[","}":"{",}for i in s:if i not in dic:stack.append(i)elif not stack or dic[i]!s…

wpf使用Popup封装数据筛选框--粉丝专栏

类似于DevExpress控件的功能 这是DevExpress的winform筛选样式&#xff0c;如下&#xff1a; 这是DevExpress的wpf筛选样式&#xff0c;如下&#xff1a; 这是Excel的筛选样式&#xff0c;如下&#xff1a; 先看效果 本案例使用wpf原生控件封装&#xff0c;功能基本上都满足…

04.neuvector进程策略生成与管控实现

原文链接&#xff0c;欢迎大家关注我的github 一、进程学习管控的实现方式 策略学习实现&#xff1a; 进程的学习与告警主要依据通过netlink socket实时获取进程启动和退出的事件: 1.创建netLink socket&#xff1b; 2.通过创建netlink的fd对进程的事件进行捕获与更新&#x…

标准 C++ 数据类型和 C++/WinRT

借助 C/WinRT&#xff0c;可以使用标准 C 数据类型&#xff08;包括某些 C 标准库数据类型&#xff09;调用 Windows 运行时 API。 可以将标准字符串传递到 API&#xff08;请参阅 C/WinRT 中的字符串处理&#xff09;&#xff0c;还可以将初始值列表和标准容器传递到 API&…

Objective-C索引集NSIndexSet与可变索引集NSMutableIndexSet使用

//创建空arrayNSMutableArray *emptyArray [NSMutableArray array];[emptyArray addObjectsFromArray:[marr subarrayWithRange:NSMakeRange(6, 5)]];[marr removeAllObjects];NSLog("%",emptyArray);//创建索引集NSIndexSet *indexs [NSIndexSet indexSetWithInde…

复试 || 就业day14(2024.01.10)算法篇

文章目录 前言字符串中第二大的数字字符串中不同整数的数目判断句子是否为全字母句长度为三且各字符不同的子字符串检查是否区域内所有整数都被覆盖*重新分配字符使所有字符串都相等可以输入的最大单词数检查是否所有字符出现次数相同差的绝对值为 K 的数对数目至少在两个数组中…