kubesphere 部署 ingress 并使用 80 端口

创建集群网关

官方文档:集群网关

  1. 点击左上角的平台管理并选择集群管理
    在这里插入图片描述
    在这里插入图片描述
  2. 点击导航面板中集群设置下的网关设置,选择集群网关选项卡,并点击启用网关
    在这里插入图片描述
  3. 选择 NodePort 模式,配置选项可以为空
    在这里插入图片描述
  4. 创建成功
    在这里插入图片描述

创建应用路由

官方文档:应用路由

  1. 进入工作台 - 企业空间
    在这里插入图片描述
    在这里插入图片描述
  2. 进入需要配置路由的项目,在应用负载 - 工作负载创建按一个 nginx

在这里插入图片描述

  1. 在应用负载 - 服务创建一个 nginx 的服务,服务暴露 80 端口
    在这里插入图片描述在这里插入图片描述
  2. 在应用负载 - 应用路由创建路由
    在这里插入图片描述
    自定义域名
    在这里插入图片描述

访问

  1. 修改 host 文件
    host 文件目录:C:\Windows\System32\drivers\etc\hosts
    添加刚刚新建的域名
    在这里插入图片描述

  2. 点击新建的路由
    在这里插入图片描述

  3. 点击访问服务
    在这里插入图片描述

  4. 成功访问
    在这里插入图片描述

域名使用 80 端口

背景:虽然可以成功访问,但需要添加端口,不太完善

原因: kubesphere-router-kubesphere-system 服务对外暴露的是 31852 端口

在这里插入图片描述

  1. 编辑 kubesphere-router-kubesphere-system 服务的 yaml,修改 31852 为 80,报错 80 不在集群端口范围内

在这里插入图片描述

  1. 修改集群端口范围
vim /etc/kubernetes/manifests/kube-apiserver.yaml

在 command 下添加 - --service-node-port-range=1-65535 参数,

在这里插入图片描述

  1. 修改后会自动生效,无需其他操作,apiserver 自动重启
    在这里插入图片描述

  2. 再次编辑 kubesphere-router-kubesphere-system 服务的 yaml,修改 31852 为 80
    在这里插入图片描述

  3. 修改成功 在这里插入图片描述

  4. 成功访问 在这里插入图片描述

  5. 成功后可以关闭端口 1-65535 的开放权限,把新增的配置删掉即可

### KubeSphere 中 Jupyter Notebook 无法访问的解决方案 在 Kubernetes 平台上部署 Jupyter Notebook 是一种常见的实践方式,而 KubeSphere 提供了一个更友好的管理界面来简化这一过程。然而,在实际操作中可能会遇到一些问题导致 Jupyter Notebook 服务不可用。 以下是针对 KubeSphere 部署 Jupyter Notebook 后无法访问的情况可能的原因分析及对应的解决方案: #### 1. **网络配置问题** 如果 Jupyter Notebook 的 Pod 或 Service 没有正确暴露到外部,则可能导致无法通过浏览器访问。 - 确认 Ingress 资源是否已正确定义绑定至正确的域名或 IP 地址。 - 如果使用的是 NodePort 类型的服务,确认端口映射是否正确,确保防火墙允许该端口通信[^1]。 ```bash kubectl get svc -n <namespace> ``` #### 2. **Pod 容器未正常运行** 检查 Jupyter Notebook 所属的 Pod 是否处于 `Running` 状态。如果不是,可能是由于镜像拉取失败或其他初始化错误引起。 - 使用以下命令获取 Pod 日志以进一步诊断问题: ```bash kubectl logs <pod-name> -n <namespace> ``` 日志中可能出现类似于 `ImportError: cannot import name 'soft_unicode' from 'markupsafe'` 的错误消息,这通常表明依赖库版本不匹配[^3]。此时可以尝试更新相关 Python 库: ```bash pip install --upgrade markupsafe jinja2 ``` #### 3. **资源不足** 容器启动失败也可能是由于分配给它的 CPU 和内存资源不足以支持其运行需求所致。可以通过调整 Deployment 文件中的资源配置参数解决此问题: ```yaml resources: requests: memory: "512Mi" cpu: "500m" limits: memory: "1Gi" cpu: "1" ``` #### 4. **权限设置不当** 某些情况下,Jupyter Notebook 可能因为文件系统的权限问题而导致功能受限甚至崩溃。例如当试图加载 CSV 数据时发生 `UnicodeDecodeError` 错误[^5],则需重新审视数据存储路径及其关联用户的读写权限。 #### 5. **环境变量缺失** 部分插件或者扩展需要特定的环境变量才能正常使用;缺少这些必要的定义同样会造成异常行为。比如对于 Anaconda 用户来说,“no Qt platform plugin found”的警告就暗示着图形化界面的支持组件尚未被完全加载完成。因此建议核查 `.env` 文件里是否有遗漏的关键项声明。 --- ### 示例修复脚本 假设已经定位到了由 `markupsafe` 版本冲突引发的问题,那么可以直接执行如下命令来进行修正: ```bash pip uninstall markupsafe && pip install markupsafe==2.0.1 ``` 另外为了防止未来再次遭遇类似的兼容性难题,推荐定期同步最新的依赖包清单与官方文档保持一致。 --- ### 总结 综上所述,KubeSphere 下 Jupyter Notebook 不可访问的主要原因集中在以下几个方面:网络连通性障碍、内部程序逻辑缺陷(如第三方模块升级带来的副作用)、计算节点硬件条件约束以及安全策略限制等方面。逐一排除上述可能性后一般都能找到有效的应对办法。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值