4. 云原生之kubesphere基础服务搭建
文章目录
- 安装kubesphere插件
- 服务暴露
- NodePort方式
- LoadBalancer方式
- 安装 OpenELB
- 部署eip资源
- 配置网关
- 启动网关
- 创建路由
- 测试网关路由
- ingress高级功能
- 在服务中配置LoadBalancer
- 基础设施部署
- 服务部署建议
- helm仓库
- 添加helm仓库
- 运维相关
- 部署gitlab
- 部署nexus3
- 部署harbor
- 研发相关
安装kubesphere插件
官网参考:概述
- 资源定义->搜索clusterconfiguration
- 点击进入编辑ks-installer
- 编辑内容如下
若是担心内容存在出入可使用内容对比工具在线文本比对工具 | 菜鸟工具
替换内容确定后会自动安装相关插件
apiVersion: installer.kubesphere.io/v1alpha1
kind: ClusterConfiguration
metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: >{"apiVersion":"installer.kubesphere.io/v1alpha1","kind":"ClusterConfiguration","metadata":{"annotations":{},"labels":{"version":"v3.3.2"},"name":"ks-installer","namespace":"kubesphere-system"},"spec":{"alerting":{"enabled":false},"auditing":{"enabled":false},"authentication":{"jwtSecret":""},"common":{"core":{"console":{"enableMultiLogin":true,"port":30880,"type":"NodePort"}},"es":{"basicAuth":{"enabled":false,"password":"","username":""},"elkPrefix":"logstash","externalElasticsearchHost":"","externalElasticsearchPort":"","logMaxAge":7},"gpu":{"kinds":[{"default":true,"resourceName":"nvidia.com/gpu","resourceType":"GPU"}]},"minio":{"volumeSize":"20Gi"},"monitoring":{"GPUMonitoring":{"enabled":false},"endpoint":"http://prometheus-operated.kubesphere-monitoring-system.svc:9090"},"openldap":{"enabled":false,"volumeSize":"2Gi"},"redis":{"enabled":false,"volumeSize":"2Gi"}},"devops":{"enabled":false,"jenkinsMemoryLim":"8Gi","jenkinsMemoryReq":"4Gi","jenkinsVolumeSize":"8Gi"},"edgeruntime":{"enabled":false,"kubeedge":{"cloudCore":{"cloudHub":{"advertiseAddress":[""]},"service":{"cloudhubHttpsNodePort":"30002","cloudhubNodePort":"30000","cloudhubQuicNodePort":"30001","cloudstreamNodePort":"30003","tunnelNodePort":"30004"}},"enabled":false,"iptables-manager":{"enabled":true,"mode":"external"}}},"etcd":{"endpointIps":"192.168.31.21,192.168.31.22,192.168.31.23","monitoring":false,"port":2379,"tlsEnable":true},"events":{"enabled":false},"logging":{"enabled":false,"logsidecar":{"enabled":true,"replicas":2}},"metrics_server":{"enabled":false},"monitoring":{"gpu":{"nvidia_dcgm_exporter":{"enabled":false}},"node_exporter":{"port":9100},"storageClass":""},"multicluster":{"clusterRole":"none"},"network":{"ippool":{"type":"none"},"networkpolicy":{"enabled":false},"topology":{"type":"none"}},"openpitrix":{"store":{"enabled":false}},"persistence":{"storageClass":""},"servicemesh":{"enabled":false,"istio":{"components":{"cni":{"enabled":false},"ingressGateways":[{"enabled":false,"name":"istio-ingressgateway"}]}}},"terminal":{"timeout":600},"zone":"cn"}}labels:version: v3.3.2name: ks-installernamespace: kubesphere-system
spec:alerting:enabled: trueauditing:enabled: trueauthentication:jwtSecret: ''common:core:console:enableMultiLogin: trueport: 30880type: NodePortes:basicAuth:enabled: falsepassword: ''username: ''elkPrefix: logstashexternalElasticsearchHost: ''externalElasticsearchPort: ''logMaxAge: 7gpu:kinds:- default: trueresourceName: nvidia.com/gpuresourceType: GPUminio:volumeSize: 20Gimonitoring:GPUMonitoring:enabled: falseendpoint: 'http://prometheus-operated.kubesphere-monitoring-system.svc:9090'openldap:enabled: falsevolumeSize: 2Giredis:enabled: falsevolumeSize: 2Gidevops:enabled: truejenkinsMemoryLim: 8GijenkinsMemoryReq: 2GijenkinsVolumeSize: 8Giedgeruntime:enabled: falsekubeedge:cloudCore:cloudHub:advertiseAddress:- ''service:cloudhubHttpsNodePort: '30002'cloudhubNodePort: '30000'cloudhubQuicNodePort: '30001'cloudstreamNodePort: '30003'tunnelNodePort: '30004'enabled: falseiptables-manager:enabled: truemode: externaletcd:endpointIps: '192.168.31.21,192.168.31.22,192.168.31.23'monitoring: falseport: 2379tlsEnable: trueevents:enabled: truelogging:enabled: truelogsidecar:enabled: truereplicas: 2metrics_server:enabled: truemonitoring:gpu:nvidia_dcgm_exporter:enabled: falsenode_exporter:port: 9100storageClass: ''multicluster:clusterRole: nonenetwork:ippool:type: caliconetworkpolicy:enabled: truetopology:type: weave-scopeopenpitrix:store:enabled: truepersistence:storageClass: ''servicemesh:enabled: falseistio:components:cni:enabled: falseingressGateways:- enabled: falsename: istio-ingressgatewayterminal:timeout: 600zone: cn
- 查看安装情况
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
服务暴露
NodePort方式
点击编辑外部访问,选择NodePort,随机分配暴露端口
LoadBalancer方式
安装 OpenELB
进入应用商店搜索OpenELB进行安装,安装0.2.6版本,无需修改配置直接安装
0.5.0版本会出现连接失败问题,导致容器不同重启
部署eip资源
- 编辑layer2-eip.yaml
apiVersion: network.kubesphere.io/v1alpha2
kind: Eip
metadata:name: layer2-eip
spec:address: 192.168.31.11-192.168.31.13interface: ens192protocol: layer2
- 部署eip
kubectl apply -f layer2-eip.yaml
- 查看eip
[root@ksmaster21 yaml]# kubectl get eip
NAME CIDR USAGE TOTAL
layer2-eip 192.168.31.11-192.168.31.13 3 3
配置网关
- 在应用商店搜索nginx部署用于测试
启动网关
lb.kubesphere.io/v1alpha1:openelb
protocol.openelb.kubesphere.io/v1alpha1:layer2
eip.openelb.kubesphere.io/v1alpha2:layer2-eip
创建路由
本质是ingress-nginx,适合http类型的请求进行转发
当上图网关地址出现信息则表格成功
测试网关路由
- 在ikuai中配置端口映射
- 使用域名:端口访问
ingress高级功能
- 高级功能通过注释实现,参考:ingress-nginx注解配置
在服务中配置LoadBalancer
mysql、redis需通过tcp连接,需在服务中配置外部访问
lb.kubesphere.io/v1alpha1:openelb
protocol.openelb.kubesphere.io/v1alpha1:layer2
eip.openelb.kubesphere.io/v1alpha2:layer2-eip
基础设施部署
服务部署建议
- 应用商店(添加三方应用商店)
- helm部署
- 编写k8s资源部署【资源多概念多】
- docker-compose转化为k8s资源部署
- docker-compose转化为k8s资源,在转化helm【定制化】
- 原生docker部署
- 自制应用
helm仓库
- https://kubernetes.github.io/ingress-nginx:
这是 Ingress Nginx 官方维护的 Helm 仓库。它提供了 Ingress Nginx 控制器的 Helm Chart,用于在 Kubernetes 集群中部署和管理 Ingress Nginx。 - https://charts.kubesphere.io/main:
这是 KubeSphere 官方维护的 Helm 仓库。KubeSphere 是一个开源的 Kubernetes 容器平台,该仓库提供了一系列与 KubeSphere 相关的 Helm Charts,用于部署和管理 KubeSphere 的各个组件和功能。 - https://mirror.kaiyuanshe.cn/kubernetes/charts/:
这是开源社区开源中国维护的 Helm 仓库镜像。它提供了一系列常用的 Kubernetes Helm Charts,包括各种应用、服务和工具的 Charts。 - https://mirror.azure.cn/kubernetes/charts/:
这是 Azure 中国区官方维护的 Helm 仓库镜像。它提供了一系列常用的 Kubernetes Helm Charts,包括各种应用、服务和工具的 Charts。 - https://charts.helm.sh/stable:
这是 Helm 官方维护的稳定版本 Helm 仓库。它提供了广泛使用的各种应用、服务和工具的稳定版本 Charts。然而,自 Helm 3.0 版本起,Helm 官方不再维护这个仓库,而是鼓励开发者将 Charts 发布到其他仓库。 - https://charts.bitnami.com/bitnami:
这是 Bitnami 维护的 Helm 仓库。Bitnami 提供了许多流行应用的 Helm Charts,使用户能够轻松地在 Kubernetes 上部署和管理这些应用。 - https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts:
这是阿里云官方维护的 Helm 仓库。它提供了一系列常用的 Kubernetes Helm Charts,包括各种应用、服务和工具的 Charts。阿里云还提供了其他地区的镜像仓库。
添加helm仓库
运维相关
运维相关基础设施特点是部署后基本就不会再动,出于稳定性考虑,可以考虑部署在k8s集群之外,好处在于:
- 避免个人在玩kubesphere时,把集群搞奔溃恢复不了
- 使用docker-compose部署比在kubesphere部署门槛低
- 使用docker-compose部署方便进行迁移
部署gitlab
汉化版:https://github.com/twang2218/gitlab-ce-zh
docker-compose.yaml
version: '2'
services:gitlab:image: 'twang2218/gitlab-ce-zh:11.1.4'restart: unless-stoppedhostname: 'gitlab.example.com'environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |# 使用服务内部域名external_url 'http://192.168.31.8'gitlab_rails['time_zone'] = 'Asia/Shanghai'# 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。# 比如下面的电子邮件的配置:# gitlab_rails['smtp_enable'] = true# gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"# gitlab_rails['smtp_port'] = 465# gitlab_rails['smtp_user_name'] = "xxxx@xx.com"# gitlab_rails['smtp_password'] = "password"# gitlab_rails['smtp_authentication'] = "login"# gitlab_rails['smtp_enable_starttls_auto'] = true# gitlab_rails['smtp_tls'] = true# gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'ports:- '1000:80'- '1001:443'- '1002:22'volumes:- config:/etc/gitlab- data:/var/opt/gitlab- logs:/var/log/gitlab
volumes:config:data:logs:
登录http://192.168.31.8后台修改密码
部署nexus3
访问地址: http://ip:8081/
3.17版本密码改成随即的了,而且登录时候提示密码在/nexus-data/admin.password里
version: "3.3"
services:nexus:image: sonatype/nexus3container_name: nexus3restart: alwaysenvironment:- TZ=Asia/Shanghaiports:- 1003:8081volumes:- ./nexus-data:/nexus-data
注意:最好使用mkdir创建nexus-data目,并使用chmod -R 777设置权限,不然启动会报错
部署harbor
通过应用商店部署,核心在于TLS/SSL的配置,若是不清楚可采用docekr-compose进行部署修改。
自行选择版本:https://github.com/goharbor/harbor/releases
迅雷下载:https://storage.googleapis.com/harbor-releases/release-2.10.0/harbor-offline-installer-v2.10.0.tgz
Docker-compose部署Harbor实操
官网安装文档
helm部署harbor参考:【K8S教程】Helm方式部署Harbor
- 下载安装包
wget https://storage.googleapis.com/harbor-releases/release-2.10.0/harbor-offline-installer-v2.10.0.tgz
- 解压
tar -xzvf harbor-offline-installer-v2.10.0.tgz
- 查看解压目录
- 修改harbor.yml配置
将 harbor.yml.tmpl命名为harbor.yml,主要修改配置如下:
hostname: 域名或ip
https:port: 443# 证书路径certificate: /data/harbor/cart/harbor.crtprivate_key: /data/harbor/cart/harbor.key
harbor_admin_password: 登录密码
database:password: 数据库密码
data_volume: /data/harbor
- 生成ssl证书,并拷贝到指定位置
- 如购买了ssl证书可直接使用,若没有则参考官网:配置harbor对https的访问
- 使用购买的证书和生成的证书区别:生成的证书需要再harbor和docker上都配置
- 将ssl证书拷贝到指定位置
- 首次安装执行安装命令
./install.sh
安装后会生成docker-compse.yaml文件 ,若出现端口冲突问题请修改docker-compse.yaml文件修改nginx端口为1004
- 编译
./prepare
- 使用docker-compose命令重启
研发相关
研发相关的基础设施特点:
- 变动也比较少,但比运维相关基础设施变动高
- 业务服务会与这些组件交互,从性能角度考虑建议部署到k8s中
研发相关组件mysql、redis、nacos等,这儿不详细介绍,部署方式介绍两种:
- 通过应用商店部署
- 习惯docker-compose方式部署的,可以转化为kubesphere可视化操作部署
相关文章:
4. 云原生之kubesphere基础服务搭建
文章目录 安装kubesphere插件服务暴露NodePort方式LoadBalancer方式安装 OpenELB部署eip资源配置网关启动网关创建路由测试网关路由ingress高级功能在服务中配置LoadBalancer 基础设施部署服务部署建议helm仓库添加helm仓库 运维相关部署gitlab部署nexus3部署harbor 研发相关 安…...
思福迪运维安全管理系统 任意文件读取漏洞
产品简介 思福迪运维安全管理系统是思福迪开发的一款运维安全管理堡垒机 漏洞概述 由于思福迪运维安全管理系统 GetCaCert路由存在任意文件读取漏洞,攻击者可通过该漏洞在服务器端读取任意文件敏感内容,可能导致攻击者后续获取到相关的服务器权限 资…...
OCR在审核应用落地
本文字数:6686字 预计阅读时间:35分钟 01 背景 1、业务背景 在传统视频审核场景中,审核人员需要对进审视频中的文字内容进行逐一审核,避免在文字上出现敏感词、违禁词或者广告等相关词汇。这种人工审核费时费力,并且由…...
借贷协议 Tonka Finance:铭文资产流动性的新破局者
“Tonka Finance 是铭文赛道中首个借贷协议,它正在为铭文资产赋予捕获流动性的能力,并为其构建全新的金融场景。” 在 2023 年的 1 月,比特币 Ordinals 协议被推出后,包括 BRC20,Ordinals 等在内的系列铭文资产在包括比…...
Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头
程序示例精选 PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头》编写代码&a…...
浅谈高并发以及三大利器:缓存、限流和降级
引言 高并发背景 互联网行业迅速发展,用户量剧增,系统面临巨大的并发请求压力。 软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜&#…...
深入ArkUI:深入实战组件text和text input
文章目录 Text组件介绍Text组件的属性方法Text:文本显示组件4.3TextInput组件实战案例:图片宽度控制页面本文总结要点回顾在今天的课程中,我们将深入学习ArkUI提供的基础组件,着重探讨text和text input两个组件。 Text组件介绍 Text组件是一个用于显示文本的组件,其主要作…...
WPF 基础(Binding 二)
续接上文,本章继续讲解WPF Binding相关知识,主要内容是绑定的模式和绑定源(Source) 5绑定模式 在使用Binding类的时候有4中绑定模式可以选择 BindingMode TwoWay导致对源属性或目标属性的更改可自动更新对方。此绑定类型适用于…...
限制el-upload组件的上传文件大小
限制el-upload组件的上传文件大小 <el-upload :before-upload"handleBeforeUpload"><!-- 其他组件内容 --> </el-upload>Vue实例中定义handleBeforeUpload方法来进行文件大小的验证。你可以使用file.size属性来获取文件的大小,并与你期…...
什么是爬虫,为什么爬虫会导致服务器负载跑满
在我们日常使用服务器的过程中,经常会有遇到各种各样的问题。今天就有遇到用户来跟德迅云安全反馈自己服务器负载跑满,给用户详细排查后也未发现异常,抓包查看也没有明显攻击特征,后续查看发现是被爬虫爬了,调整处理好…...
线上隐私保护的未来:分布式身份DID的潜力
在日益数字化的世界中,人们的生活越来越多地依赖于互联网,数字身份也因而变得越来越重要。根据法律规定,互联网应用需要确认用户的真实身份才能提供各种服务,而用户则希望在进行身份认证的同时能够尽量保护他们的个人隐私…...
服务器被入侵后如何查询连接IP以及防护措施
目前越来越多的服务器被入侵,以及攻击事件频频的发生,像数据被窃取,数据库被篡改,网站被强制跳转到恶意网站上,网站在百度的快照被劫持等等的攻击症状层出不穷,在这些问题中,如何有效、准确地追…...
【开源】基于Vue+SpringBoot的公司货物订单管理系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…...
2023-12-29 服务器开发-Centos部署LNMP环境
摘要: 2023-12-29 服务器开发-Centos部署LNMP环境 centos7.2搭建LNMP具体步骤 1.配置防火墙 CentOS 7.0以上的系统默认使用的是firewall作为防火墙, 关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable fire…...
CEC2017(Python):五种算法(DE、RFO、OOA、PSO、GWO)求解CEC2017
一、5种算法简介 1、差分进化算法DE 2、红狐优化算法RFO 3、鱼鹰优化算法OOA 4、粒子群优化算法PSO 5、灰狼优化算法GWO 二、CEC2017简介 参考文献: [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem defini…...
数字身份验证:跨境电商如何应对账户安全挑战?
在数字化时代,随着跨境电商的蓬勃发展,账户安全问题逐渐成为行业和消费者关注的焦点。随着网络犯罪日益猖獗,用户的数字身份安全面临着更加复杂的威胁。本文将深入探讨数字身份验证在跨境电商中的重要性,并探讨各种创新技术和策略…...
Nature | 大型语言模型(LLM)能够发现和产生新知识吗?
大型语言模型(LLM)是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络,这些神经网络由具有自注意力功能的编码器和解码器组成。编码器和解码器从一系列文本中提取含义,并理解其中的单词和短语之间的关系。通…...
C# 使用ZXing.Net生成二维码和条码
写在前面 条码生成是一个经常需要处理的功能,本文介绍一个条码处理类库,ZXing用Java实现的多种格式的一维二维条码图像处理库,而ZXing.Net是其.Net版本的实现。 在WinForm下使用该类库需要从NuGet安装两个组件: ZXing.Net ZXing…...
Windows系统配置pytorch环境,Jupyter notebook编辑器安装使用(深度学习本地篇)
如今现在好一点的笔记本都自带英伟达独立显卡,对于一些简单的深度学习项目,是不需要连接服务器的,甚至数据量不大的话,cpu也足够进行训练学习。我把电脑上一些以前的笔记整理一下,记录起来,方便自己35岁事业…...
详解“量子极限下运行的光学神经网络”——相干伊辛机
量子计算和量子启发计算可能成为解答复杂优化问题的新前沿,而经典计算机在历史上是无法解决这些问题的。 当今最快的计算机可能需要数千年才能完成高度复杂的计算,包括涉及许多变量的组合优化问题;研究人员正在努力将解决这些问题所需的时间缩…...
uniapp通过蓝牙传输数据 (安卓)
在uni-app中,可以通过原生插件的方式来实现蓝牙传输数据的功能。以下是一般的步骤: 1. 创建一个原生插件 在uni-app项目的根目录下,创建一个原生插件的目录,比如"uni-bluetooth"。然后在该目录下创建一个"Androi…...
LT8612UX-HDMI2.0 to HDMI2.0 and VGA Converter with Audio,支持三通道视频DAC
HDMI2.0 to HDMI2.0 and VGA Converter with Audio 1. 描述 LT8612UX是一个HDMI到HDMI和vga转换器,它将HDMI2.0数据流转换为HDMI2.0信号和模拟RGB信号。 它还输出8通道I2S和SPDIF信号,使高质量的7.1通道音频。 LT8612UX支持符合HDMI2.0/ 1.4规范的…...
python gui programming cook,python gui视频教程
大家好,给大家分享一下python gui programming cook,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Source code download: 本文相关源码 前言 上一节我们实现了明细窗体GUI的搭建,并且设置了查看、修改、添加三种不…...
亚马逊bsr排名的影响因素,如何提高BSR排名?-站斧浏览器
亚马逊BSR排名的影响因素有哪些? 销售速度:BSR排名主要基于产品的销售速度,即最近一段时间内的销售量。销售速度越快,BSR排名越高。 销售历史:亚马逊会考虑产品的历史销售数据,新上架的产品可能需要一段时…...
K8s-安全机制
目录 1、//机制说明 2、认证(Authentication) 3、鉴权(Authorization) 4、准入控制(Admission Control) 5、实践:创建一个用户只能管理指定的命名空间 1、//机制说明 Kubernetes 作为一个分…...
GPT-3: Language Models are Few-Shot Learners
GPT-3 论文 数据集 CommonCrawl:文章通过高质量参考语料库对CommonCrawl数据集进行了过滤,并通过模糊去重对文档进行去重,且增加了高质量参考语料库以增加文本的多样性。WebText:文章采用了类似GPT-2中的WebText文档收集清洗方…...
Qt Quick 用cmake怎么玩子项目
以下内容为本人的著作,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/o-_aGqreuQda-ZmKktvxwA 以往在公司开发众多的项目中,都会出现要求本项目里部分功能模块代码需要具备保密性。如果需要对外输出demo工程&…...
大数据学习(29)-Spark Shuffle
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
archiver error. Connect internal only, until freed.
[64000][257] ORA-00257: archiver error. Connect internal only, until freed.原因 归档日志写满了、闪回日志写满了(根本原因是服务器磁盘写满了) # 切换到oracle服务 su - oracle# 使用sysdba用户登录 解决方案:(https://blog.csdn.net/qq_37635373/article/details/933282…...
鸿蒙HarmonyOS-图表应用
简介 随着移动应用的不断发展,数据可视化成为提高用户体验和数据交流的重要手段之一。在HarmonyOS应用开发中,一个强大而灵活的图表库是实现这一目标的关键。而MPChart就是这样一款图表库,它为开发者提供了丰富的功能和灵活性,使得…...
一般做网站是用什么程序做的/搜一搜站长工具
第九章(2)、推荐系统 1.基于内容推荐content based recommendations 根据内容给产品一个度(电影的浪漫度,喜剧度,动作度) 使用线性回归方法(将除以m删掉了): 缺点&#x…...
广西住房和城乡建设厅培训中心网站/抖音指数查询
背景 您正在开发一个大型,复杂的应用程序,并希望使用微服务架构。微服务架构将应用程序构造为一组松散耦合的服务。微服务架构的目标是通过实现持续交付/部署来加速软件开发。 微服务架构以两种方式实现: 简化测试并使组件能够独立部署将工…...
网站策划专员/岳阳网站建设推广
1. 顶点缓存和索引缓存(vertex/index buffer) 一个顶点缓存是一个包含顶点数据的连续内存空间;一个索引缓存是包含索引数据的连续内存空间。顶点缓存和索引缓存可以被放置到显存(video memory)中。进行绘制时,使用显存中的数据将获得比使用系统内存中的数…...
网站设计报告/免费b站推广网站入口202
主要用了pydiction,winManager,taglist,ctags似乎没有起作用,更复杂的也没有装。其实VIM也挺好用的,希望可以掌握更多强大的命令! 1 set number2 colo darkblue3 set nocp4 set ru5 set hls6 syntax on7 set backspaceindent,eol,start8 set …...
网站信息备案变更 哪里做/推广员是做什么的
ubuntu 10.10下面添加samba实现和windows共享文件 整个过程其实算是很简单了,大体步骤,请参考这里即可:samba实现ubuntu跟windows文件共享 http://spiritfrog.iteye.com/blog/216768看完后,也知道,只是去安装一下samba…...
优是是什么网站/简阳seo排名优化培训
如何掌握C#的核心技术 感谢网友毛大神制作的图。 引子 前不久看到一个段子,某年宁波交警引进人脸识别技术抓拍行人闯红灯,结果一天下来被发现闯红灯次数最多的是珠海女子董小姐,日闯红灯3000多次。宁波交警连夜研究抓捕方案,最后分…...