事实上,生产环境中的 Kubernetes 大部分都是部署在 Linux 环境中的,源代码的编译和调试自然是在 Linux 环境中完成的,但 Windows 环境以方便的可视化操作著称,功能非常丰富的 IDE 对阅读理解和调试源代码非常有帮助。
下面就详细讲解一下原生系统 Kubernetes 源代码的编译过程,即使 Windows 操作系统可能很难运行 Kubernetes 的所有功能,以及 Kubernetes 的运行机制,但对代码的理解已经足够了。
部署 GO 运行时环境1)要下载Go的
SDK网站源码调试,可以选择从国外的Go英语网(Go下载-Go语言英语网-Golang英语社区)下载。
2) 安装
默认情况下会安装下载的文件。
3) 配置环境变量
配置系统环境变量:
两个目录,一个表示 gosdk(安装路径)的路径,另一个是 go 的工作目录(工作目录由其自身定义)。
在本地编译 Kubernetes 源代码 1
通过 git 工具下载 Kubernetes 代码(在此处下载 1.15 版本)。
代码存储在 Go 工作目录中,该目录位于以下目录中:
D:go_workspacesrck8s.io
2.GolandIDE导出项目
1) 打开集成开发环境
2) 导出项目项
选择“打开项目 OpenProject”,导航到源代码目录,然后导出项目 k8s.io。
3) 配置环境
导出代码项目后,代码结构如下:
因为项目需要下载依赖的代码包,所以外直连Microsoft相关东西的下载比较慢,这里可以配置对应的代理。
3. 操作依赖包
手动下载相应的代码依赖包后,需要将部分依赖包从暂存目录复制到对应的供应商目录。
复制到相应的供应商目录(首先删除该目录中的文件,然后复制):
4. 模块编译验证
购买统一门户模块 kube-apiserver
1) 配置模块运行和启动
配置本地 Go 以运行 SDK:
配置运行启动:
启动参数配置:
启动参数
主要是启动程序的程序名,指定启动的入口文件,这里不配置启动后的参数。
开始运行并等待模块运行:
apiserver 的初始运行
模块错误,这是由于缺少 API Server 的开放套接字描述文件造成的,在这种情况下需要在 Linux 环境中编译生成文件(另一篇文章介绍了 Linux 环境编译 Kubernetes,这里先复制一下)。
5. 错误问题解决方案
1) 初始编译运行期间发生错误(依赖于 OpenAPI 描述文件)。
登录到 Linux 环境:
运行 make 命令,编译稍晚一会儿,等待编译结束:_output生成编译结果
进入代码的 pkg 区域:查找 make 生成的代码描述文件
将代码文件复制到本地 goland 项目:
2)再次运行
由于 apiserver 的启动和运行网站源码调试,需要依靠 etcd 作为对应的分布式数据一致性存储,这里需要配置对应的 etcd 服务。
etcd的Windows环境部署
1) 查找 etcd 的下载包地址
Releases·etcd-io/etcd·GitHub
2) 选择适用于 Windows 环境的软件包下载
部署安装:
在指定目录下安装部署,这里解压Go中的工作目录。
etcd 是一种分布式一致性 KV 存储,主要用于分布式系统共享配置和服务发现。
etcd.exe是服务器,etcdctl .exe为客户端的操作控制提供命令入口。
单击“运行服务器应用程序”:
运行后,etcd 服务器会手动打开服务端口 2379,配置本地地址进行访问。
配置 etcd 服务以运行 apiserver
配置完对应的 etcd 地址后,开始编译运行:
模块运行成功后,可以设置断点等调试来了解源代码!
注意:在
Linux 环境中编译生成的 “zz_generated.openapi.go” 文件必须在 +k8s:openapi-gen=true 模式下编译。
在为 Linux 环境编译 kubernetes 时,更改构建文件“Makefile.generated_files”:
+k8s:openapi-gen=true //将其注释去除
(如何用源代码构建网站)。
目录:如何编译网站的源代码?
1、网页是
最基本的,其次是Javascript进行校准,CSS用于设置统一的样式,PhotoShop一定不能少,不能一直使用在线向下图片吧,总是要做一个整体的橱柜模板,然后生成一个HTML静态页面,然后再更改它。
2、一开始你可以玩FrontPage,因为它和Office一样简单,完全了解如何使用表格进行定位,然后使用Dreamweaver,了解如何使用表格和图层进行定位,主要是使用表格定位,还有很多其他的知识,比如烟花和Flash都是辅助的。
3、
以上是静态页面,像Dynamic比较多,ASP asp.net JSP PHP等技术至少会是一样的,推荐JSP,基于Java语言,还有一些其他技术如servlet JavaBean EJB Cabinet Shelf 有Struts J2EE Hibernate等等。
4.源代码是指编译的原始程序的代码。运行的软件是编程的,程序员需要他们的“语言”来编译程序。音乐家使用乐谱和音符,建筑师使用图纸和钢笔,程序员的工作语言是“源代码”。
5.当人们通常使用软件时,是程序将“源代码”翻译成直观的方式供我们使用。
6.任何被源代码替换的网站页面都是一堆以某种格式编写的单词和符号,但是我们的浏览器可以帮助我们转换为当前的外观。
建立网站的基本步骤是什么?
首先,准备一个域名、一个主机、一套自助建站系统。
1. 域名来源
(1)找IDC服务商订购,com域名60/年左右;
(2)查找免费的二级域名
、互联网上一些提供免费二级域名的网站;或者你可以向一个你认识的网站管理员的同学索要一个二级域名;
(3)在美国查找免费的顶级域名,例如 dot.tk 的传统知识域名。注:TK域名百度不会包括oh~或者找一些其他小国的免费域名。
2. 主机源
(1)使用自己的计算机配置相关的网络环境,并要求您更好地了解这方面;
(2)找IDC服务商订购,简单方便,花钱购买服务;
(3)找一个免费的主机。国内外有很多IDC服务商提供免费托管(主要是推广自己的付费托管)。国内免费托管,我用的最好就是主机房,剩下的基本都是一团糟。
3. 自助建站系统
PageAdminCMS(PageAdmin网站管理系统)。
特点:基于 asp.net 开发,灵活易用,可扩展性强,PageAdmin是一个非常奇特的个性系统网站源码编写,不是以主流html模板的形式来设计,而是配合背景布局和框架组合设计,上手方便,易用性是Pageadmin近年来踏入CMS第一阵营的原因, 很多像我这样懒惰不愿意写或者不会写HTML界面的用户会特别喜欢,在企业、学校和政府网站基本上都是首选。
评价:我个人很喜欢这个系统,从2.1到3.0我基本都用过,一路开发,功能不断给用户惊喜,自定义表单和自定义模型 这块设计得很好,如果你熟悉 asp.net,你可以用这个系统扩展一个好的多功能,我用这个系统给一个客户做了一个专业的货运管理系统, 总之,这是一个基因好的系统,有兴趣下载试试自己的渐进感受。
2. 配置网站
1、登录域名管理面板网站源码编写,将域名解析到您的主机;
2、登录您的主机管理面板,将域名绑定到主机;
3. 将网站源代码上传到您的主机。建议使用ftp工具上传,如果不懂英语,建议使用8Uftp工具。
第三,安装网站源代码(如果是简单的网页,可以省略此步骤)。
4. 输入域名以访问网站。您可以稍后根据需要更改网站。
我想问一下如何用源代码制作网站
下载网站源代码后。创建新的 TXT 文本文档,将代码复制到其中,然后将后缀更改为 html。也就是说,网页的打开方法,这样当你打开它时,它就变成了一个网页。但是需要注意的是,网页内部代码的图片就是地址,也就是说当你打开网页时,代码中的图片是从原来的网站下载的,如果断开网络连接,打开哪个网页会发现图片不见了, 打开网络图片会返回。