问题标签 [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.
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. 将接受下面的答案。谢谢。
kubernetes - 如何控制 kubectl 与哪个集群通信?
我正在使用 kubectl 来控制本地 microk8s 安装。我配置了一个本地 Google 云 shell 连接,以避免通过 GKE 仪表板对可用的机器进行荒谬的配置。
现在,kubectl
命令似乎在 microk8s 和 GKE 上随机执行。我不仅想解决这个问题,而且在未来禁止这种情况。
kubectl
可以引用不同环境的可能性显然是建立在kubectl
CLI 概念中的一个可怕的想法,它无法指定远程集群。它可能导致生产系统发生意外更改。即使是一个铁杆 12 因素的布道者也会安装一个本地集群用于开发。
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
使用明显存在的上下文?
docker - Microk8s 无法从私有注册表中提取
我在 EC2 实例上运行 Microk8s。我无法从我们的私有注册表中提取容器。尝试运行这样的容器时kubectl describe pod
显示:
无法提取图像“docker.xxx.com/import:v1”:rpc 错误:代码 = 未知 desc = 无法解析图像“docker.xxx.com/import:v1”:没有可用的注册表端点:无法获取匿名令牌:意外状态:401 Unauthorized
我可以从那台机器上docker login
。docker pull
我用来部署容器的 yaml 在另一个(非容器化)集群上运行良好。它指的是一个 pull secret,它与另一个集群中使用的相同,并且在那里工作正常。
我在 Microk8s 的 containerd-template.toml 中添加了以下条目:
我不知道我可能还缺少什么。
kubernetes - microk8s中pod间通信的配置是什么
我正在使用 microk8s 设置一组应用程序。我有两个部署资源 - 让我们说 - 后端和应用程序 - 后端部署有一个服务 - 让我们说 backend-service.myns.svc.cluster.local。从运行其他部署(应用程序)的 pod 中,我无法连接到后端服务。ping、curl 等工具因未知主机错误而失败。但是,我可以从同一个(应用程序)pod ping google.com 或 internet。问题的原因是什么?
python - 如何通过 Python Kubernetes 客户端连接 microk8s API?
我正在尝试使用Python Kubernetes 客户端连接到我的 microk8s Kubernetes 集群,该集群正在侦听端口 16443 :
如果我没有设置任何字段或示例中的配置cert_file
,则连接失败是由于key_file
api_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)。
kubernetes - 如何暴露 Microk8s 容器,以便它们可以从另一台机器获得?
我想使用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 能够暴露它的容器吗?
kubernetes - 使用文件在 KONG 中注册多个服务并配置路由
每当我需要向 kong 注册我的 EKS 服务和所需路由时,我必须手动执行相同的 CURL 方法( post/get )命令,服务和路由注册成功,但我的要求是使用 KONG 构建或自动化以上多个配置,比如YAML
为 KONG 的所有服务注册和路由生成一个文件,然后立即执行。
我探索了所有来源,甚至是 KONG 官方文档,但找不到任何可以减轻我要求的方法
一些自动化上述CURL
命令的方法
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
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
, withvalues_pv.yaml
: https://pastebin.com/PryCgKnC- 编辑:请更改
/home/*user*/github/airflowDAGs
为您机器上的路径以复制错误。
- 编辑:请更改
关注点
- 可能由于默认值中的这些行而出错
values.yaml
:
如何airflow.cfg
在 Kubernetes 部署中进行配置?在 Airflow 的非容器化部署中,可以在~/airflow/airflow.cfg
.
- 第 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.4microk8s.helm version
: v2.14.3
问题
如何正确地将正确的值传递给 Airflow Helm 图表,以便能够在 Kubernetes 上部署 Airflow,Pod 可以访问相同的 DAG 并在共享持久卷上登录?