nginx访问jupyter
现在jupyter已通过k8s安装完成,并通过nodeport暴露出来。
如果不能直接访问这个nodeport(像我在的公司)或是希望能组织好jupyter实例,
那应该如何调通呢?
这里包括两个技术点:
一,jupyter本身需要允许指定ip的访问。
红色部分,继承了docker镜像的cmd,并新增了--NotebookApp.allow_origin='*'参数,不然,nginx跳过去,jypyter不接受。
apiVersion: apps/v1 kind: Deployment metadata: name: ai-jupyter spec: replicas: 1 selector: matchLabels: name: ai-jupyter template: metadata: labels: name: ai-jupyter spec: imagePullSecrets: - name: xxxx nodeSelector: accelerator: nvidia-tesla-k80 containers: - name: sis-ai-jupyter image: harbor.xxxx.com.cn/3rd_part/tensorflow:1.14.0-gpu-py3-jupyter imagePullPolicy: IfNotPresent command: ["bash", "-c", "source /etc/bash.bashrc && jupyter notebook --notebook-dir=/tf --ip 0.0.0.0 --no-browser --allow-root --NotebookApp.allow_origin='*'"] resources: limits: nvidia.com/gpu: 2 --- apiVersion: v1 kind: Service metadata: name: ai-jupyter spec: type: NodePort ports: - port: 8888 targetPort: 8888 nodePort: 30302 selector: name: ai-jupyter
二,nginx需要有websocket的升级处理。
红色部分,对kernels和terminals两个目录的连接,作了ws升级处理。
upstream ai_jupyter { ip_hash; server 1.2.3.4:30302; } server { listen 8080; server_name localhost; location / { proxy_set_header Host $host; proxy_set_header X-FORWARDED-FOR $remote_addr; proxy_pass http://ai_jupyter; } location ~ /api/kernels/ { proxy_pass http://ai_jupyter; proxy_set_header Host $host; # websocket support proxy_http_version 1.1; proxy_set_header Upgrade "websocket"; proxy_set_header Connection "Upgrade"; proxy_read_timeout 86400; } location ~ /terminals/ { proxy_pass http://ai_jupyter; proxy_set_header Host $host; # websocket support proxy_http_version 1.1; proxy_set_header Upgrade "websocket"; proxy_set_header Connection "Upgrade"; proxy_read_timeout 86400; } }
nginx访问jupyter的更多相关文章
- Nginx 访问日志轮询切割
Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...
- 按日期切割nginx访问日志--及性能优化
先谈下我们需求,一个比较大的nginx访问日志,根据访问日期切割日志,保存在/tmp目录下. 测试机器为腾讯云机子,单核1G内存.测试日志大小80M. 不使用多线程版: #!/usr/bin/env ...
- 一、基于hadoop的nginx访问日志分析---解析日志篇
前一阵子,搭建了ELK日志分析平台,用着挺爽的,再也不用给开发拉各种日志,节省了很多时间. 这篇博文是介绍用python代码实现日志分析的,用MRJob实现hadoop上的mapreduce,可以直接 ...
- Python正则表达式,统计分析nginx访问日志
目标: 1.正则表达式 2.oop编程,统计nginx访问日志中不同IP地址出现的次数并排序 1.正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- ...
- linux端安装Anaconda,方便远端访问jupyter
ipython notebook是一个基于浏览器的python数据分析工具,使用起来非常方便,具有极强的交互方式和富文本的展示效果.jupyter是它的升级版,它的安装也非常方便,一般Anaconda ...
- Nginx访问控制模块
一.Nginx访问控制模块 Nginx默认安装的模块http_access_module,可以基于来源IP进行访问控制. 1.模块安装 nginx中内置ngx_http_access_module,除 ...
- logstash收集nginx访问日志
logstash收集nginx访问日志 安装nginx #直接yum安装: [root@elk-node1 ~]# yum install nginx -y 官方文档:http://nginx.org ...
- 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页
使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ...
- nginx访问不到
nginx访问不到 今天,一朋友的一台linux服务器上部署了nginx,但是外部(公网)就是不能访问,于是协助其排查.整体思路如下: 1.确认nginx配置是否ok. 2.确认网络是否可达. 3.是 ...
随机推荐
- [THUPC2018]弗雷兹的玩具商店(线段树,背包)
最近状态有点颓,刷刷水题找找自信. 首先每次询问就是完全背包.可以 $O(m^2)$. 由于每个物品都可以用无数次,所以对于价格相同的物品,我们只用考虑愉悦度最高的. 直接上线段树.$val[i]$ ...
- Oracle--DBV命令行工具用法详解及坏块修复
一,介绍 DBV(DBVERIFY)是Oracle提供的一个命令行工具,它可以对数据文件物理和逻辑两种一致性检查.但是这个工具不会检查索引记录和数据记录的匹配关系,这种检查必须使用analyze va ...
- Java-volatile底层实现原理
一.volatile 代码 package jvm; public class VolatileVisibilityTest { private static boolean initFlag = f ...
- c# CRC16位校验辅助类
public class CRC16Helper { /// <summary> /// CRC校验 /// </summary> /// <param name=&qu ...
- linux安装go环境并编写第一个go程序
1.从官网下载go源码包 wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz 2.在/usr/local下解压源码包 sudo tar ...
- POJ 2249 暴力求组合数
Binomial Showdown Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22692 Accepted: 692 ...
- [转帖]SQL Server 10分钟理解游标
SQL Server 10分钟理解游标 https://www.cnblogs.com/VicLiu/p/11671776.html 概述 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合 ...
- WPF 精修篇 旋转 RotateTransForm
原文:WPF 精修篇 旋转 RotateTransForm 旋转 RotateTransform Angle 角度 CenterY ,CenterX 中心点位置 和缩小一样 左侧 和右侧 做了对比 ...
- .net core 2.2部署到Windows Server 2012 R2 standard
安装.net core 2.2 下载地址:https://dotnet.microsoft.com/download/dotnet-core/2.2 找到ASP.NET Core Runtime 2. ...
- 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
问题: 该错误是因为应用程序需要jQuery,但是当前项目中并没有jQuery,或者存在jQuery但是程序不知道jQuery的存放路径. 解决方案: 一.下载jQuery,引入必要的jquery-X ...