如何禁用heapster的安全性?
How to disable heapster's security?
在我的 k8s 集群中安装 heapster 后,出现以下错误:
2016-04-09T16:08:27.437604037Z I0409 16:08:27.433278 1 heapster.go:60] /heapster --source=kubernetes:https://kubernetes.default --sink=influxdb:http://monitoring-influxdb:8086
2016-04-09T16:08:27.437781968Z I0409 16:08:27.433390 1 heapster.go:61] Heapster version 1.1.0-beta1
2016-04-09T16:08:27.437799021Z F0409 16:08:27.433556 1 heapster.go:73] Failed to create source provide: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
安全性对我的演示来说是低优先级;所以我想先禁用它。我的 apiserver
也没有启用安全性。有什么建议吗?
- 使用“--admission_control=ServiceAccount”启动 apiserver,因此它将为默认服务帐户创建秘密(使用 kubernetes 1.2 测试)
- 使用 "http" 而不是 "https" 以避免安全问题
注意:它仅用于演示该功能;不能用于生产。
查看 heapster 文档,其中描述了如何在没有安全保护的情况下配置源:
https://github.com/kubernetes/heapster/blob/master/docs/source-configuration.md
--source=kubernetes:http://<YOUR_API_SERVER>?inClusterConfig=false
不确定这是否适用于您的设置,但它适用于此处(前提是 kubernetes 安装;不涉及 gcp :))。
最良好的祝愿,
马蒂亚斯
如果您没有为 API 服务器启用 https,您可能会看到此错误。查看 Matthias 的官方指南答案。下面是我使用的 Heapster 复制控制器的 YAML 文件。将 api 服务器 ip 和端口替换为您的。
apiVersion: v1
kind: ReplicationController
metadata:
labels:
k8s-app: heapster
name: heapster
version: v6
name: heapster
namespace: kube-system
spec:
replicas: 1
selector:
k8s-app: heapster
version: v6
template:
metadata:
labels:
k8s-app: heapster
version: v6
spec:
containers:
- name: heapster
image: kubernetes/heapster:canary
imagePullPolicy: Always
command:
- /heapster
- --source=kubernetes:http://<api server ip>:<port>?inClusterConfig=false
- --sink=influxdb:http://monitoring-influxdb:8086
在我的 k8s 集群中安装 heapster 后,出现以下错误:
2016-04-09T16:08:27.437604037Z I0409 16:08:27.433278 1 heapster.go:60] /heapster --source=kubernetes:https://kubernetes.default --sink=influxdb:http://monitoring-influxdb:8086
2016-04-09T16:08:27.437781968Z I0409 16:08:27.433390 1 heapster.go:61] Heapster version 1.1.0-beta1
2016-04-09T16:08:27.437799021Z F0409 16:08:27.433556 1 heapster.go:73] Failed to create source provide: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
安全性对我的演示来说是低优先级;所以我想先禁用它。我的 apiserver
也没有启用安全性。有什么建议吗?
- 使用“--admission_control=ServiceAccount”启动 apiserver,因此它将为默认服务帐户创建秘密(使用 kubernetes 1.2 测试)
- 使用 "http" 而不是 "https" 以避免安全问题
注意:它仅用于演示该功能;不能用于生产。
查看 heapster 文档,其中描述了如何在没有安全保护的情况下配置源:
https://github.com/kubernetes/heapster/blob/master/docs/source-configuration.md
--source=kubernetes:http://<YOUR_API_SERVER>?inClusterConfig=false
不确定这是否适用于您的设置,但它适用于此处(前提是 kubernetes 安装;不涉及 gcp :))。
最良好的祝愿, 马蒂亚斯
如果您没有为 API 服务器启用 https,您可能会看到此错误。查看 Matthias 的官方指南答案。下面是我使用的 Heapster 复制控制器的 YAML 文件。将 api 服务器 ip 和端口替换为您的。
apiVersion: v1
kind: ReplicationController
metadata:
labels:
k8s-app: heapster
name: heapster
version: v6
name: heapster
namespace: kube-system
spec:
replicas: 1
selector:
k8s-app: heapster
version: v6
template:
metadata:
labels:
k8s-app: heapster
version: v6
spec:
containers:
- name: heapster
image: kubernetes/heapster:canary
imagePullPolicy: Always
command:
- /heapster
- --source=kubernetes:http://<api server ip>:<port>?inClusterConfig=false
- --sink=influxdb:http://monitoring-influxdb:8086