如何让 Helm 运行在本地单实例 Kubernetes 上?

How to make Helm work on local single instance Kubernetes?

我有以下 Kubernetes 的本地设置(通过 conjure up)只是为了测试目的。

```
$ microk8s.kubectl get all

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   71m
```

我可以访问以下 URL:

http://127.0.0.1:8080/api/v1/namespaces/kube-system/configmaps

工作正常,如下所示:

Helm/tiller也已安装:

```
$ microk8s.kubectl get pods --namespace kube-system 

NAME                             READY   STATUS    RESTARTS   AGE
tiller-deploy-85686555b8-kbkhv   1/1     Running   0          105s
```

一旦我执行 运行 helm ls 命令,我的问题就开始了。 我收到以下错误:

Error: Get https://10.152.183.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp 10.152.183.1:443: i/o timeout

这里有2个问题:

1- 一旦我从 Firefox 中点击关注 URL,它就会给我证书错误:

https://10.152.183.1:443/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER:

如果我添加异常并继续,它会询问我 master username/password:

2- 当我 运行 microk8s.kubectl config view 这会给出以下没有密码的输出:

```
apiVersion: v1
clusters:
- cluster:
    server: http://127.0.0.1:8080
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    username: admin
```

所以我的问题是:

1- 我在哪里可以找到主密码(我在安装时没有设置)?
2- 我怎样才能使 SSL 证书 运行 可信?因此,一旦我执行 helm ls,它应该可以正常工作。

这是 ubuntu 防火墙的问题,修复如下。

https://github.com/ubuntu/microk8s/issues/67

So the fix was:

sudo ufw allow in on cbr0 && sudo ufw allow out on cbr0