- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE2
PAGE2
Kubernetes服务治理白皮书
目录
服务治理
5.1
一般准则
5.1.1
滚动升级
5.1.2
Helm
5.1.3
Operator
5.1.4
ServiceMesh
5.1.5
Linkerd
5.1.6
Linkerd2
5.1.7
Istio
5.2
安装
5.2.1
流量管理
5.2.2
安全管理
5.2.3
策略管理
5.2.4
度量管理
5.2.5
排错
5.2.6
社区
5.2.7
Devops
5.3
Draft
5.3.1
JenkinsX
5.3.2
Spinnaker
5.3.3
Kompose
5.3.4
Skaffold
5.3.5
Argo
5.3.6
FluxGitOps
5.3.7
社区贡献
社区贡献
PAGE3
PAGE3
服务治理
服务治理
PAGE751
PAGE751
Kubernetes服务治理
本章介绍Kubernetes服务治理,包括容器应用管理、ServiceMesh以及Operator等。目前最常用的是手动管理Manifests,比如kubernetesgithub代码库就提供了很多的
manifest示例
/kubernetes/kubernetes/tree/master/cluster/addons/kubernetes/examples/kubernetes/contrib/kubernetes/ingress-nginx
手动管理的一个问题就是繁琐,特别是应用复杂并且Manifest比较多的时候,还需要考虑他们之间部署关系。Kubernetes开源社区正在推动更易用的管理方法,如
一般准则滚动升级HelmOperator
ServiceMeshLinkerdConduit
Istio
安装
流量管理安全管理策略管理Metrics排错
社区
Devops
DraftJenkinsXSpinnakerKomposeSkaffoldArgo
FluxGitOps
一般准则
一般准则
PAGE754
PAGE754
一般准则
分离构建和运行环境
使用dumb-int等避免僵尸进程
不推荐直接使用Pod,而是推荐使用Deployment/DaemonSet等
不推荐在容器中使用后台进程,而是推荐将进程前台运行,并使用探针保证服务确实在运行中
推荐容器中应用日志打到stdout和stderr,方便日志插件的处理
由于容器采用了COW,大量数据写入有可能会有性能问题,推荐将数据写入到
Volume中
不推荐生产环境镜像使用latest标签,但开发环境推荐使用并设置imagePullPolicy为Always
推荐使用Readiness探针检测服务是否真正运行起来了
使用activeDeadlineSeconds避免快速失败的Job无限重启引入Sidecar处理代理、请求速率控制和连接控制等问题
分离构建和运行环境
注意分离构建和运行环境,直接通过Dockerfile构建的镜像不仅体积大,包含了很多运行时不必要的包,并且还容易引入安全隐患,如包含了应用的源代码。
可以使用Docker多阶段构建来简化这个步骤。
FROM
FROMgolang:1.7.3asbuilder
WORKDIR/go/src//alexellis/href-counter/RUNgoget-d-v/x/net/html
COPYapp.go .
RUNCGO_ENABLED=0GOOS=linuxgobuild-a-installsuffixcgo-oapp.
FROMalpine:latest
RUNapk--no-cacheaddca-certificatesWORKDIR/root/
COPY--from=builder/go/src//alexellis/href-counter/app.CMD[./app]
僵尸进程和孤儿进程
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。
#首先
您可能关注的文档
- BIM技术在装配式建筑中的应用优势.docx
- 分泌尿鸟苷素工程菌的构建及其对结肠上皮细胞cGMP合成的影响.docx
- 关于施工企业基层项目部HSE管理问题的思考.docx
- SIMODRIVE611D系列电源模块现场检验指导.docx
- 利用信息技术构建高中数学课堂的有效策略.docx
- 分层教学法在初中体育教学中的运用策略.docx
- 临终关怀护理干预对老年癌症患者心理及生存质量的影响.docx
- Intel-Xeon-E5630-服务器CPU技术规格.docx
- 2011年高考广东卷理科数学18题分析.docx
- 2024-2030年数据通信光模块行业市场现状供需分析及重点企业投资评估规划分析研究报告 (2).docx
文档评论(0)