问题标签 [microk8s]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3630 浏览

docker - microk8s拉镜像,卡在ContainerCreating状态

文档中所述(基于

我在 Ubuntu 上作为主机操作系统。

Docker 版本 18.09.6,构建 481bc77


启用本地注册表microk2s

检查:

容器注册表 pod/registry-577986746b-v8xqc 1/1 运行 0 36m

然后:

编辑:

添加此内容:

重新开始:

仔细检查,看看是否应用了不安全:

标签:

检查:

127.0.0.1:32000/my-service 最新 e68f8a7e4675 19 小时前 540MB

推动:

我在这里看到我的图片:http: //127.0.0.1 :32000/v2/_catalog

deployment-local.yml我有,现在正确的图像:

然后申请:

我懂了:ContainerCreating

经过:microk8s.kubectl describe pods my-service-deployment-f85d5dcd5-cmd5

在事件部分:

好像我的服务卡在那里。

问:可能是什么原因?

更新: 将所有更改为localhost帮助,这意味着我现在可以在浏览器中看到:http://localhost:32000/v2/_catalog

但它只适用于 Firefox.. 很奇怪。在 chrome 中待定..

仍然:

似乎它试图通过 https 连接..

--

好的..必须为 yml 图像添加端口:part. 将接受下面的答案。谢谢。

0 投票
2 回答
184 浏览

kubernetes - 如何控制 kubectl 与哪个集群通信?

我正在使用 kubectl 来控制本地 microk8s 安装。我配置了一个本地 Google 云 shell 连接,以避免通过 GKE 仪表板对可用的机器进行荒谬的配置。

现在,kubectl命令似乎在 microk8s 和 GKE 上随机执行。我不仅想解决这个问题,而且在未来禁止这种情况。

kubectl可以引用不同环境的可能性显然是建立在kubectlCLI 概念中的一个可怕的想法,它无法指定远程集群。它可能导致生产系统发生意外更改。即使是一个铁杆 12 因素的布道者也会安装一个本地集群用于开发。

0 投票
1 回答
9500 浏览

kubernetes - helm 和 kubectl 上下文不匹配

我无法理解应该安装到上下文中helm的使用,因此安装到我的本地 microk8s 集群中,而不是我曾经连接到的远程 GKE 集群中。helm --kube-context=microk8s install ...microk8s

然而,Error: could not get Kubernetes config for context "microk8s": context "microk8s" does not exist如果我helm --kube-context=microk8s install --name mereet-kafka在成功运行helm init并添加必要的存储库之后运行,这将失败。

上下文microk8s存在并根据 启用kubectl config current-context。我什至可以通过运行来重现这一点,helm --kube-context=$(kubectl config current-context) install --name mereet-kafka以避免任何拼写错误。

为什么不能helm使用明显存在的上下文?

0 投票
2 回答
5052 浏览

docker - Microk8s 无法从私有注册表中提取

我在 EC2 实例上运行 Microk8s。我无法从我们的私有注册表中提取容器。尝试运行这样的容器时kubectl describe pod显示:

无法提取图像“docker.xxx.com/import:v1”:rpc 错误:代码 = 未知 desc = 无法解析图像“docker.xxx.com/import:v1”:没有可用的注册表端点:无法获取匿名令牌:意外状态:401 Unauthorized

我可以从那台机器上docker logindocker pull我用来部署容器的 yaml 在另一个(非容器化)集群上运行良好。它指的是一个 pull secret,它与另一个集群中使用的相同,并且在那里工作正常。

我在 Microk8s 的 containerd-template.toml 中添加了以下条目:

我不知道我可能还缺少什么。

0 投票
0 回答
153 浏览

kubernetes - microk8s中pod间通信的配置是什么

我正在使用 microk8s 设置一组应用程序。我有两个部署资源 - 让我们说 - 后端和应用程序 - 后端部署有一个服务 - 让我们说 backend-service.myns.svc.cluster.local。从运行其他部署(应用程序)的 pod 中,我无法连接到后端服务。ping、curl 等工具因未知主机错误而失败。但是,我可以从同一个(应用程序)pod ping google.com 或 internet。问题的原因是什么?

0 投票
3 回答
3535 浏览

python - 如何通过 Python Kubernetes 客户端连接 microk8s API?

我正在尝试使用Python Kubernetes 客户端连接到我的 microk8s Kubernetes 集群,该集群正在侦听端口 16443 :

如果我没有设置任何字段或示例中的配置cert_file,则连接失败是由于key_fileapi_key

如果我指定api_key如上面的代码所示,我得到

我尝试设置一些证书ca.crt,如图所示,但是ca.key由于/var/snap/microk8s/current/certs以下原因而失败

我在带有 Python 3.7 和 Kubernetes Python 客户端 10.0.0 的 Ubuntu 19.04 上使用 microk8s 1.15.0 (695)。

0 投票
1 回答
16090 浏览

kubernetes - 如何暴露 M​​icrok8s 容器,以便它们可以从另一台机器获得?

我想使用Microk8s来玩 Spring Cloud Data Flow,所以我在我的 Windows 10 上安装了 Multipass,并在虚拟机中运行安装了 Microk8s 的 Ubuntu。我想实现这一点,所有容器都在 Ubuntu 上运行,这是一个由 Multipass 管理的无头 Virtualbox VM,但我希望能够从 Windows 连接到容器。

拓扑如下所示:

视窗 10

  • 我家路由器提供的192.168.1.107

在 Virtualbox 中运行的Ubuntu

  • 我相信 192.168.52.1 由 Windows for Virtualbox 提供(Virtualbox Host-Only Network)

如果我登录 Ubuntuifconfig会说以下内容:

microk8s.kubectl get all说如下,它已在 Ubuntu 中执行:

如您所见<Pending>,外部 IP 地址有两种状态。我相信那些应该被暴露以便能够连接到。

我做了我在帮助中找到的内容,但我无法得知服务器获取外部 IP。

我在这里做错了什么?Microk8s 能够暴露它的容器吗?

0 投票
1 回答
1640 浏览

kubernetes - 使用文件在 KONG 中注册多个服务并配置路由

每当我需要向 kong 注册我的 EKS 服务和所需路由时,我必须手动执行相同的 CURL 方法( post/get )命令,服务和路由注册成功,但我的要求是使用 KONG 构建或自动化以上多个配置,比如YAML为 KONG 的所有服务注册和路由生成一个文件,然后立即执行。

我探索了所有来源,甚至是 KONG 官方文档,但找不到任何可以减轻我要求的方法

一些自动化上述CURL命令的方法

0 投票
1 回答
2058 浏览

microk8s - microk8s.enable dns 卡在 ContainerCreating

我已经在 VBox 中的 Ubuntu 19 上安装了 microk8s snap。当我运行microk8s.enable dns时,部署的 pod 不会超过 ContainerCreating 状态。

我以前工作过。我还重新安装了 microk8s,这有助于通过,但不再是了。

的输出microk8s.kubectl get all --all-namespaces显示机密的音量有问题。我不知道如何进一步调查,因此不胜感激。

干杯

输出自microk8s.kubectl describe pod/coredns-9b8997588-z88lz -n kube-system

0 投票
2 回答
5798 浏览

kubernetes - Helm stable/airflow - 使用 Helm 图表失败的具有共享持久卷的 Airflow 部署的自定义值

客观的

我想在 Kubernetes 上部署 Airflow,其中 pod 可以在共享持久卷中访问相同的 DAG。根据文档(https://github.com/helm/charts/tree/master/stable/airflow#using-one-volume-for-both-logs-and-dags),看来我必须设置并通过Helm 的这些值:extraVolume, extraVolumeMount, persistence.enabled, logsPersistence.enabled, dags.path, logs.path.

问题

我在安装官方 Helm 图表时传递的任何自定义值都会导致类似于以下内容的错误:

  • 工作正常:microk8s.helm install --namespace "airflow" --name "airflow" stable/airflow
  • 不工作
  • 也无法正常工作: microk8s.helm install --namespace "airflow" --name "airflow" stable/airflow --values=values_pv.yaml, with values_pv.yaml: https://pastebin.com/PryCgKnC
    • 编辑:请更改/home/*user*/github/airflowDAGs为您机器上的路径以复制错误。

关注点

  1. 可能由于默认值中的这些行而出错values.yaml

如何airflow.cfg在 Kubernetes 部署中进行配置?在 Airflow 的非容器化部署中,可以在~/airflow/airflow.cfg.

  1. 第 69 行airflow.cfg参考:https ://github.com/helm/charts/blob/master/stable/airflow/templates/deployments-web.yaml#L69

其中包含git. 是否.yaml配置错误,并且错误地尝试使用git pull,但由于未指定 git 路径,因此失败了?

系统

  • 操作系统:Ubuntu 18.04(单机)
  • MicroK8s:v1.15.4 修订版:876
  • microk8s.kubectl version: v1.15.4
  • microk8s.helm version: v2.14.3

问题

如何正确地将正确的值传递给 Airflow Helm 图表,以便能够在 Kubernetes 上部署 Airflow,Pod 可以访问相同的 DAG 并在共享持久卷上登录?