k8s 部署nginx前端
1.构建docker镜像,k8s拉取镜像运行
docker自己安装
[root@master1 ~]# docker pull nginx:1.24.0
[root@master1 ~]# mkdir k8s-nginx
[root@master1 ~]# cd k8s-nginx
[root@master1 k8s-nginx]# vim nginx.conf
server_tokens off;server {listen 8010; #web访问端口server_name localhost;keepalive_timeout 65;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;location / {root /etc/nginx/dist; #web代码路径index index.html index.htm;}#后端代码接口配置#location /api {# proxy_pass http://127.0.0.1:8001;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
[root@master1 k8s-nginx]# mkdir dist #这个dist是前端包目录,我这里只做个测试
[root@master1 k8s-nginx]# cd dist
[root@master1 dist]# vim index.html
this is a test!
写Dockerfile:
[root@master1 k8s-nginx]# vim Dockerfile
FROM nginx:1.24.0COPY nginx.conf /etc/nginx/conf.d/web.confCOPY dist /etc/nginx/dist
构建镜像:
[root@master1 k8s-nginx]# docker build -t nginx:v1 .
Sending build context to Docker daemon 5.12 kB
Step 1/3 : FROM nginx:1.24.0---> 6b753f58c54e
Step 2/3 : COPY nginx.conf /etc/nginx/conf.d/web.conf---> Using cache---> c67c98f8e802
Step 3/3 : COPY dist /etc/nginx/dist---> 546db553f62a
Removing intermediate container d9a8e88cb4da
Successfully built 546db553f62a
将镜像上传到镜像仓库,我这里是上传到阿里云的镜像仓库
仓库地址:
https://cr.console.aliyun.com/cn-zhangjiakou/instance/credentials登录镜像仓库:
docker login --username=asula registry.cn-zhangjiakou.aliyuncs.com推送镜像:
docker tag nginx:v1 registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v1
docker push registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v1
k8s拉取私有仓库需要登录,有时候不可能为每个k8s节点登录
我们就需要为创建k8s集群的secret,设置秘钥配置imagePullSecrets
1.创建secret
kubectl create secret docker-registry secret名 --docker-server=仓库地址 --docker-username=用户名 --docker-password=密码
例如:
kubectl create secret docker-registry secret-key --docker-server=registry.cn-zhangjiakou.aliyuncs.com --docker-username=ABCD --docker-password=QWER!@
--docker-server=registry.cn-zhangjiakou.aliyuncs.com #阿里云仓库地址
--docker-username=ABCD #阿里云仓库登录的用户名
--docker-password=QWER!@#$ #阿里云仓库的登录密码
2.删除secret
kubectl delete secret secret-key
编写k8s的yaml文件:
[root@master1 k8s-nginx]# vim nginx-test.yaml
apiVersion: v1
kind: Service
metadata:labels:app: nginx-serviename: nginx-servicenamespace: default
spec:ports:#对外暴露端口30003- nodePort: 30003port: 8010protocol: TCPtargetPort: 8010selector:app: nginx-web#NodePort对外暴露端口type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginx-webname: nginx-webnamespace: default
spec:replicas: 1selector:matchLabels:app: nginx-webtemplate:metadata:labels:app: nginx-webnamespace: defaultspec:imagePullSecrets:- name: secret-keycontainers:- image: registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v1name: nginximagePullPolicy: Alwaysports:- containerPort: 80resources:requests:cpu: 100mmemory: 1Gilimits:cpu: 100mmemory: 1Gi#pod内目录#volumeMounts:#- name: conf# mountPath: /etc/nginx/conf.d#- name: log# mountPath: /var/log/nginx#- name: html# mountPath: /etc/nginx/dist#宿主机目录需要自己创建#volumes:#- name: conf# hostPath:# path: /root/k8s-nginx/nginx/conf.d#- name: log# hostPath:# path: /root/k8s-nginx/nginx/log#- name: html# hostPath:# path: /root/k8s-nginx/nginx/dist
[root@master1 k8s-nginx]# kubectl apply -f nginx-test.yaml
service/nginx-service configured
deployment.apps/nginx-web created
[root@master1 k8s-nginx]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-web-9f5fbbb7b-bjwvg 1/1 Running 0 3s
验证:http://10.10.10.10:30003/index.html

相关文章:
k8s 部署nginx前端
1.构建docker镜像,k8s拉取镜像运行docker自己安装 [rootmaster1 ~]# docker pull nginx:1.24.0 [rootmaster1 ~]# mkdir k8s-nginx [rootmaster1 ~]# cd k8s-nginx [rootmaster1 k8s-nginx]# vim nginx.conf server_tokens off;server {listen 8010; #web访…...
ClickHouse UDF 官方示例Example报错解决方案
目录 一、环境版本二、官方示例三、解决方案1.Python脚本运行缺少权限2. 缺少Python3运行环境 四、参考借鉴 一、环境版本 环境版本docker clickhouse22.3.10.22 docker pull clickhouse/clickhouse-server:22.3.10.22二、官方示例 官网文档 test_function使用 XML 配置创建…...
eval()函数的用法,计算字符串中的值,模板字符串进行计算
eval函数的定义: eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。 如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。 let a1 10; let a2 20; let calcu…...
leetcode第80题:删除有序数组中的重复项 II
题目描述 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 …...
【Docker】Docker-Compose内置DNS负载均衡失效问题
Docker Compose实现负载均衡 还是对前面的例子docker-compose.yml稍微修改: version: "3.8"services:flask-demo:build:context: .dockerfile: Dockerfileimage: flask-demo:latestenvironment:- REDIS_HOSTredis-server- REDIS_PASS${REDIS_PASS}healt…...
[Python]Selenium-自动化测试
Selenium是一个web自动化测试的工具,在使用之前先在对应的项目添加工具包噢. 本文章主要简单的介绍了selenium对于自动化测试的使用 目录 添加浏览器驱动 get函数来到对应网站 驱动的定位 元素定位 id定位 class name定位 CSS定位 XPath定位 link text定位 定位一…...
高效管理文件夹名称:如何批量修改指定多样化的文件夹名称
在文件管理工作中,文件夹名称的管理对于整体的文件管理体系有着至关重要的作用。然而,往往我们会在文件夹名称的管理上遇到一些难题,如:需要修改的文件夹名称多样化,无法一次性满足所有需求。为了解决这个问题…...
c 读取音频协议WAV文件头(再生成wav文件)
查找wav文件头关键struct 位置,当然也可查找avi文件头。用这个方法找到avi文件data位置后,可直接读出文件的每一帧图片。当然avi数据的标志位不是data,可以是00dc等。 WAV音频头文件有三个关键struct:RIFF, fmt,data。 AVI 视频文件头的关键…...
Prompt设计与大语言模型微调
本文主要介绍了Prompt设计、大语言模型SFT和LLM在手机天猫AI导购助理项目应用。 ChatGPT基本原理 “会说话的AI”,“智能体” 简单概括成以下几个步骤: 预处理文本:ChatGPT的输入文本需要进行预处理。输入编码:ChatGPT将经过预处理…...
修复VS2015没有代码提示的问题【已解决】
问题描述 在Visual Studio 中编写代码时,发现使用库函数的时候,在类对象后输入点后,并没有出现类对应的成员信息的提示。 解决过程 1)方法1: 百度“vs 没有代码提示”,搜索解决方案。 方案1࿱…...
DeepSpeed: 大模型训练框架 | 京东云技术团队
背景: 目前,大模型的发展已经非常火热,关于大模型的训练、微调也是各个公司重点关注方向。但是大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能。所以需要多卡或者分布式训练来完成这…...
暄桐推荐|学书法的必读书目
在暄桐教室,写字之外,读书、静坐也是桐学们修习的功课。今天,便向你推荐,关于学习书法,暄桐教室的那些必读书目: 暄桐推荐学书法必读书之初阶书目: 对零基础的小白同学或刚入门…...
2023年赋能更多的人
最近接触到一些新人,是真正的网络新人,慢慢理解了新人的困惑。 对于新人,每天获取的信息五花八门,这是好的也是极其不好的。因为他们不知道如何筛选,到底适不适合自己去做。 我一直在劝大家去做一些内容创造性的事情…...
量子计算与量子密码(入门级)
量子计算与量子密码 写在最前面一些可能带来的有趣的知识和潜在的收获 1、Introduction导言四个特性不确定性(自由意志论)Indeterminism不确定性Uncertainty叠加原理(线性)superposition (linearity)纠缠entanglement 虚数的常见基本运算欧拉公式&#x…...
将安全作为首要目标 — Venus 的现状和前景展望
DeFi 的全面爆发将上一轮牛市推向巅峰。在不断的演化中,DeFi 领域也产生了很多新兴的细分领域,比如收益聚合器、合成资产、各种 DeFi 收益工具,以及最近整个市场都在讨论的 RWA 等。 DeFi 在不断进化,不变的是,DEX 和借…...
『第七章』翩翩起舞的雨燕:顺序与并发执行
在本篇博文中,您将学到如下内容: 1. 顺序执行2. 主线程 Main Thread 的秘密3. 并发执行:GCD 与分发队列(DispatchQueue)4. 延时执行5. 数据竞争(Data Race)6. 线程间的同步7. 避免线程爆炸8. RunLoop 与定时器总结楚客自相送,沾裳春水边。 晚来风信好,并发上江船。 花映…...
c语言进制的转换10进制转换16进制
c语言进制的转换10进制转换16进制 c语言的进制的转换 c语言进制的转换10进制转换16进制一、16进制的介绍二、10进制转换16进制的方法 一、16进制的介绍 十六进制: 十六进制逢十六进一,所有的数组是0到9和A到F组成,其中A代表10,B代…...
js中的Formdata数据结构
这里写目录标题 一、基本概念二、常用方法1.append(name, value)、set(name, value)2.get()、getAll()3.has(name)4.delete(name)5.keys(),values(),entries() 三、其他细节1.for of遍历2.转为对象3.结合 URLSearchParams 转为queryString 一、基本概念 FormData 提供了一种表…...
Spring MVC 执行流程
前言 Spring MVC 是一个非常强大的框架,它能够帮助开发人员快速构建高效的 Web 应用程序。然而,要理解 Spring MVC 的执行流程并不容易,因为它涉及到多个组件和模块。在本文中,我们将介绍 Spring MVC 的执行流程,帮助…...
JAVA毕业设计104—基于Java+Springboot+Vue的医院预约挂号小程序(源码+数据库)
基于JavaSpringbootVue的医院预约挂号小程序(源码数据库)104 一、系统介绍 本系统前后端分离带小程序 小程序(用户端),后台管理系统(管理员,医生) 小程序: 预约挂号,就诊充值&…...
开源自动驾驶系统终极指南:从入门到精通
开源自动驾驶系统终极指南:从入门到精通 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending/op/openpilo…...
3倍效率提升:Gofile批量下载工具实战指南
3倍效率提升:Gofile批量下载工具实战指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 您是否曾为Gofile平台的文件下载效率低下而烦恼?当面对大文…...
罗技PUBG鼠标宏终极教程:告别压枪烦恼,轻松提升射击稳定性
罗技PUBG鼠标宏终极教程:告别压枪烦恼,轻松提升射击稳定性 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求…...
OpenClaw实战教程:声明式配置驱动的高效数据抓取方案
1. 项目概述:一个关于“OpenClaw”的实战教程 最近在GitHub上看到一个挺有意思的项目,叫“OpenClawTuto”。光看名字,你可能会有点摸不着头脑,这“OpenClaw”到底是个啥?是某种开源机械爪?还是一个代号&…...
Navis:开源项目标准化开发环境与工具链配置框架实践
1. 项目概述:一个为开发者打造的“导航星图”如果你和我一样,常年混迹在开源项目的海洋里,那么你一定对这种感觉不陌生:面对一个全新的、功能强大的开源工具,兴奋地克隆了仓库,然后……就卡在了第一步。REA…...
火灾动力学模拟实战:如何用FDS构建精准的火灾预测系统
火灾动力学模拟实战:如何用FDS构建精准的火灾预测系统 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 你是否曾面临这样的困境:当设计一栋大型商业建筑时,如何科学评估火灾时的人员疏…...
WarcraftHelper:魔兽争霸3终极增强插件5分钟快速上手指南
WarcraftHelper:魔兽争霸3终极增强插件5分钟快速上手指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争…...
基于Python/Flask的洗车店业务管理系统设计与实现
1. 项目概述:从“洗车”到“洗车服务”的数字化重构最近在GitHub上看到一个挺有意思的项目,叫“washing-cars”。光看名字,你可能会觉得这只是一个关于洗车的小工具或者记录表。但当我深入进去,才发现它远不止于此。这个项目本质上…...
量化交易性能优化:高性能内存管理与计算加速实践
1. 项目概述与核心价值最近在量化交易社区里,一个名为Lexus2016/turbo_quant_memory的项目引起了我的注意。乍一看这个标题,它融合了几个非常吸引人的关键词:“Turbo”(涡轮增压,意指加速)、“Quant”&…...
构建高质量代码数据池:从数据堆到模型营养基的进化之路
1. 项目概述:一个为代码生成模型量身定制的数据池最近在折腾大语言模型,特别是代码生成这块,发现一个挺有意思的现象:很多开发者手头有不错的代码数据集,但直接丢给模型训练,效果总是不尽如人意。要么是数据…...
