总结:Introduction是公司开源的一个类似的系统,用于集群监控、可视化、管理。 另一个是插件,用于控制容器流量。 这也是一个非侵入式选项,除非官方支持流量控制。 因为没有登录认证功能。 发布允许访问内部网络。
范围概述
范围是 Weave 开源的类似仪表板的工具,用于监视、可视化和管理 Kubernetes UI 系统。 主要有四个特点:
实时了解 Docker 容器。
相关详细信息和深层链接。 它提供容器标签、元数据、指标和其他详细信息,以及 CPU 和内存指标。
统一容器管理。 它允许您暂停和停止容器,还提供 Web shell 来方便对容器进行操作。
插件机制。 这非常重要。 你可以按照约定创建一些你需要的插件。 官方提供的插件集中在github上。
就我个人而言,我认为有两件事运作良好。 首先,作用域提供了容器之间的业务拓扑,并允许您轻松查看调用关系。
另一个插件是scope-traffic-control,用于控制容器流量。
K8s本身只有CPU、内存和存储限制。 这也是一个非侵入式选项,除非官方支持流量控制。 使用的原理是Linux tc。 稍后我会详细介绍这个插件。
范围部署
直接上传yaml文件
apiVersion: v1kind: Listitems: - apiVersion: v1 kind: Namespace 元数据: Name: Weave Annotation:云.weave.works/版本:v1.0.0-44-gd0d2369 - apiVersion: v1 类型: ServiceAccount 元数据: 名称: Weave-scope 注释: cloud.weave.works/launcher-info: |- { "original-request": { "url " : "/k8s/scope.yaml?k8s-version=1.8.0", "date": "2018 年 2 月 24 日星期六 09:12:44 GMT+0000 (UTC)" }, "email-address " : "support@weave.works" } 标签:名称:Weave-scope 命名空间:Weave - api版本:rbac.authorization.k8s.io/v1beta1 类型:ClusterRole 元数据:名称:Weave-scope 注释:Cloud .weave.works/launcher-info: |- { "original-request": { "url": "/k8s/scope.yaml?k8s-version=1.8.0" , "date ”:“2018 年 2 月 24 日星期六 09:12:44 GMT+0000 (UTC)" }, "email-address": "support@weave.works" } 标签:名称:Weave-scope 命名空间:Weave 规则:- apiGroups:- " *资源:-“*”动词:-“*”-nonResourceURLs:-“*”动词:-“*”- apiVersion:rbac.authorization.k8s.io/v1beta1类型:ClusterRoleBinding 元数据:名称:Weave-scope 注释:cloud.weave.works/launcher-info: |- { "original-request": { "url": "/k8s/scope. yaml?k8s-version=1.8.0", "date": "2018 年 2 月 24 日星期六 09:12:44 GMT+0000 (UTC)" }, "email-address": "support@weave .works “ } 标签:名称:weave- 范围命名空间:weave roleRef:类型:ClusterRole 名称:weave- 范围 apiGroup:rbac.authorization.k8s.io 主题:- 类型:ServiceAccount 名称:weave- 范围命名空间:weave [ k4] apiVersion: apps/v1beta1 kind: 部署元数据: name: Weave-scope-app 注释: cloud.weave.works/launcher-info: |- { "original- request": { "url": "/k8s/scope.yaml?k8s-version=1.8.0", "date": "2018 年 2 月 24 日星期六 09:12:44 GMT+0000 (UTC) " }, " email[ k4] 地址": "support@weave.works" } 标签: 名称:Weave-scope-app 应用程序:Weave-scope Weave-cloud- 组件:Scope Weave-范围-组件:应用程序命名空间:Weave 规范:副本:1reviationHistoryLimit:2 模板:元数据:标签:名称:Weave-scope-app 应用程序:Weave-scope Weave-cloud- 组件:范围Weave-范围-组件:应用程序规范:容器:-名称:应用程序参数:-“--no-probe”-“--weave =false" 环境: [] 图片: "registry.xxx.com/kubernetes/scope:1.7.3" imagePullPolicy: IfNotPresent 端口: - 容器端口: 4040 协议: TCP - apiVersion: v1 类型: 服务元数据:名称:weave-scope-app 注释:cloud.weave.works/launcher-info: |- { "original-request": { "url": "/k8s/scope.yaml?k8s-version=1.8.0", "date" : "Sat Feb 24 2018 09:12:44 GMT+0000 (UTC)" }, "email-address": "support@weave.works" } 标签:名称:weave-scope-app 应用程序:weave -范围weave -云-组件:范围weave -范围-组件:应用程序命名空间:weave规范:类型:NodePort端口:-名称:应用程序端口:80协议:TCP targetPort: 4040 节点端口: 32404 选择器: 名称: Weave-scope-app 应用程序: Weave-scope Weave-cloud- 组件: Scope Weave-scope- 组件: app [ k4] ] apiVersion: 扩展sions/v1beta1 类型:DaemonSet 元数据:名称:Weave-scope-agent 注释:cloud.weave.works/launcher-info: |- { "original-request": { "url " : "/k8s/scope.yaml?k8s-version=1.8.0", "date": "2018 年 2 月 24 日星期六 09:12:44 GMT+0000 (UTC)" }, "email-address " : "support@weave.works" } 标签: 名称: Weave-scope- 代理应用程序: Weave- 范围 Weave-cloud- 组件: 范围 Weave-scope- 组件:代理命名空间:Weave 规范:模板:元数据:标签:名称:Weave-scope-代理应用程序:Weave-Scope Weave-cloud-组件:Scope Weave-scope-组件: 代理人规范:容器:- 名称:范围 - 代理参数:- "--no-app" - "--probe.docker.bridge=docker0" -“--probe.docker=true”-“--probe.kubernetes=true”-“weave-scope-app.weave:80” - "--weave=false" env: - name: KUBERNETES_HOSTNAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName image: "registry.xxx.com/kubernetes/scope:1.7.3 “ imagePullPolicy:IfNotPresent securityContext:权限:true volumeMounts:-名称:docker-socket 挂载路径:/var/run/docker.sock - 名称:scope-plugins 挂载路径:/var/run/scope/plugins - 名称:sys-kernel[ k4] 调试安装路径:/sys/kernel/debug dnsPolicy:ClusterFirstWithHostNet hostNetwork:true hostPID:true serviceAccountName:Weave-范围容忍:- 效果:NoSchedule 操作员:现有卷:- 名称:docker-套接字主机路径:路径:/var/run/docker.sock - 名称:Scope-plugins 主机路径:路径:/var/run/scope/plugins - 名称:sys-kernel-调试主机路径: 帕th: /sys/kernel/debug updateStrategy: type: RollingUpdate
只需将图像源更改为您的服务器可以拉取的内容即可。
这是因为该范围不提供登录身份验证功能。 因此,它不会通过ingress映射到外部网络。 服务通过节点端口暴露,可以从内网访问。 当然,它可以很容易地修改。 整个接口是使用多路复用器实现的,您只需要实现自己的身份验证中间件即可。 这是后续的工作。
如果你的k8s版本不是1.8.0,可以通过以下语句获取yaml文件:
curl https://cloud.weave.works/k8s/scope。 亚穆尔? k8s-version=1.6.7 -sL -scope.yaml
最终渲染
总结
当然是商业用k8s集群,范围不够。 然而,对于内部使用,范围是仪表板的补充,也可以扩展以满足自身需求。
评论前必须登录!
注册