Tag: kubernetes

有没有社区托pipe的分布式云解决scheme?

我有这个分布式云解决scheme的想法。 我想像一个Docker Swarm或Kubernetes解决scheme,您可以在其中任意位置托pipe服务器,然后将其join到社区云中。 在您的硬件贡献之后,您可以将容器托pipe到云中。 当然你得到的performance需要依赖于你贡献的多less。 我可以看到这个解决scheme的问题主要是安全性。 许多人不希望他们的服务运行在某个不知名的控制的服务器上。 解决这个问题的方式是,群集中的服务器的所有者不能准确地看到他的服务器上运行的是什么,我想这可能会很复杂。 所以我的问题是,有没有类似的解决scheme已经存在? 如果没有,为什么有一个很好的理由?

如何只允许访问postgresql中的kubernetes pod?

我有一个在GKE的Kubernetes中运行的Django应用程序。 那Django应用程序连接到一个静态(非容器)postgresql服务器。 由于他们都位于一个区域,我的django应用程序使用内部IP连接到数据库。 我只想我的Django应用程序请求连接到postgresql数据库,并拒绝来自其他IP的请求连接。 要做到这一点,在pg_hba.conf我做到了这一点: host all all 14.133.0.0/24 md5 因为所有的内部IP都以14.133开头。 但是,请求来自pod IP,因此连接请求被拒绝。 一个Pod IP的例子可以是14.4.123.32 。 所以,如果我在pg_hba.conf执行以下操作,问题将得到解决: host all all 14.0.0.0/8 md5 另外要注意的是,Pod IP总是变化的。 所以,这个解决scheme一旦更新吊舱就会中断。 什么是最好的做法呢?

用docker为jenkins设置多个容器化的build env slave

让server1上的jenkins和server2上的docker。 如何设置jenkins在Docker中为每个构build创build一个新的容器作为构build奴隶? 什么是正确的方法呢,使用kubernetes更好吗? 这个想法是使用容器作为构build奴隶,或者至less将每个构build发布到一个单独的容器中。

无法在docker mongo initdb脚本中运行apt-get

我正在尝试在minikube上运行一个应用程序。 为了让蒙戈起来,我正在跑步 kubectl create configmap mongo-initdb –from-file=importdata.sh kubectl apply -f mongo.yaml 用importdata.sh作为: mongo myapp-dev –eval "db.dropDatabase()" apt-get update && apt-get install curl && apt-get install bzip2 curl https://cdn.filestackcontent.com/xxxxxxxx -o myapp-db.tar.bz2 bzip2 -dc myapp-db.tar.bz2 | tar xvf – mongorestore –db myapp-dev myapp-dev mongo myapp-dev –eval 'db.users.update({}, {$set: {hashedPassword: "fwaPwkoIpS4y4aWA+uljXWIlyjTxUzkU+IgK4+B8m+ZhyBrWwM/N/oGfUj0ERAcwnXCOImkOvbvDMH/BAmN8FA==", salt: "YfnL4jUxfbYY6Y3/w8P8KA=="}}, {multi: true})' mongo myapp-dev –eval […]

使用LXD的Kubernetes部署和本地使用的Docker镜像的位置

我使用LXD作为部署选项在本地主机上安装了kubernetes。 另外我在本地系统上有ROS indigo的docker镜像。 但是一旦我创build了一个使用ROS indigo的docker镜像的镜像,镜像从gcr下载并存储在某处,但是并没有在我的系统本地使用镜像镜像。 如何编写.yaml文件以使用本地泊坞窗图像? Docker镜像是否存储在本地其他位置,如果是这样,我怎样才能访问镜像,进行修改并保存呢?

SolrCloud持久卷权限问题使用Kubernetes

每Solr到生产( https://lucene.apache.org/solr/guide/6_6/taking-solr-to-production.html ),“出于安全原因,不build议以root用户运行Solr, 控制脚本启动命令将拒绝这样做。 提供持续卷发生。 但是,当我们声明并将其挂载到我们的Pod的文件夹结构中时,该挂载文件夹的权限设置只能以root身份进行写入。 因此,SolrCloud微服务不能将其configuration文件,核心/集合数据或备份存储到持久性卷。 我们应该如何解决Kubernetes中的权限问题,因为Solr强制通过Solr命令/启动脚本无法使用root? 这也是安装后正在运行的pod的摘录,显示权限问题(数据文件夹的根拥有者): 这里还有关于Kubernetes服务器版本的信息: C:\Users\xxxx>kubectl version Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommi t:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2 017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"windows/amd6 4"} Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.8+coreos.0", GitCommit:"fc34f797fe56c4ab78bdacc29f89a33ad8662f8c", GitTreeState:"clean", Bui ldDate:"2017-08-05T00:01:34Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"lin ux/amd64"} 请参阅下面的yaml,docker文件并启动脚本。 yaml文件: — apiVersion: v1 kind: ConfigMap metadata: name: "solrclouddemo1" namespace: "com-xxx-cppseed-dev" labels: app: "solrclouddemo1" version: […]

HAProxy 1.8 – 在HAProxy软重装期间传递套接字连接

我正在使用kubernetes load-lanacer (这里haproxyconfiguration是每10秒写入一次并重新启动)。 由于我想在重新加载HAProxy时传递套接字连接,所以我更改了HAProxy的Dockerfile,使其使用HAProxy 1.8-dev2版本。 使用的图像是haproxytech / haproxy-ubuntu:1.8-dev2 。 此外,我在template.cfg文件的全局部分下添加了以下行(这是写入HAProxyconfiguration的模板) stats socket /var/run/haproxy/admin.sock模式660级别的pipe理员显示侦听器 此外,我更改haproxy_reload文件中的重新加载命令,如下所示 haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -x /var/run/haproxy/admin.sock -sf $(cat /var/run/haproxy.pid) 一旦我运行docker镜像,我得到以下错误(kubectl create -f rc.yaml –namespace load-balancer) W1027 07:13:37.922565 5 service_loadbalancer.go:687]因为错误而重新启动kube-system / kube-dns:错误重新启动haproxy – [警告] 299/071337(21):我们没有得到预期的套接字数(期待1347703880得到0) [警告] 299/071337(21):无法从旧程序中获取套接字! :退出状态1 FYI:我评论了template.cfg文件中的统计套接字行,并运行docker镜像以validation重新启动命令是否标识套接字。 发生同样的错误。 看起来像软重启命令不能识别由HAProxy创build的统计套接字。

Docker部署Jupyter笔记本电脑与GPU

我正在尝试创build一个群集,可以在使用p2实例创build的AWS GPU群集内部启动带有Tensorflow和Jupyter笔记本的Docker。 我也希望每个用户都有自己的文件夹。 理想情况下,每个实例最多可以运行两个docker,如果需要一个新的docker,我们将启动一个新的实例。 我试图使用AWS ECS来做到这一点,我设法使用Jupyter在TF docker镜像和GPU的固定端口上启动任务。 我也想为每个用户安装一个不同的文件夹,我认为可以在任务定义中使用一个variablesmount / folder / $(userid)/,但这是不可能的。 我也试图自动启动一个新的实例添加到集群,如果实例已经有两个docker运行。 现在我找不到解决这两个问题的办法,我看到Kubernetes可以取代ECS,你认为Kubernetes会是我想要做的一个很好的解决scheme吗? 如果不是我能做些什么来使它与ECS一起工作? 随意给任何build议 谢谢! 这是我目前的dockerconfiguration:我现在没有实现用户文件夹: "containerDefinitions": [ { "volumesFrom": [], "memory": 2048, "extraHosts": null, "linuxParameters": null, "dnsServers": null, "disableNetworking": null, "dnsSearchDomains": null, "portMappings": [ { "hostPort": 0, "containerPort": 8888, "protocol": "tcp" } ], "hostname": null, "essential": true, "entryPoint": [ "jupyter", "notebook", "–no-browser", […]

如何与minikube部署本地dockerregistry?

使用minikube和dockerregistry本地。 创build并将本地图像推送到dockerregistry: $ curl http://localhost:5000/v2/_catalog {"repositories":["app1"]} Kubernetesconfiguration文件: … spec: replicas: 3 template: metadata: labels: app: app1 tier: backend spec: containers: – image: localhost:5000/app1 name: app1 … 但是从kubernetes仪表板, Pods区域出现错误: Failed to pull image "localhost:5000/app1": rpc error: code = 2 desc = Error while pulling image: Get http://localhost:5000/v1/repositories/app1/images: dial tcp 127.0.0.1:5000: getsockopt: connection refused Error syncing pod […]

Dockerd内存使用情况 – 使用的内存比使用的内存更多

为什么dockerd守护进程使用的内存太多? 我有几个运行内存小于4 GB的内存,然后我看到dockerd正在使用类似6? 为什么发生这种情况? 这可以接受吗? 我的意思是,pipe理荚我的主机应该有所有这些资源? 我还在我的K8S群集中包含了定期移除旧docker图像的逻辑,所以我想这个问题与旧图像无关。 谷歌search我可以看到,有很多人观察这些问题,与他们正在使用的版本可能泄漏/问题有关。 无论如何,我在不同版本的两台不同机器上观察这个问题: 我的虚拟机: Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:17:43 2017 OS/Arch: linux/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:17:43 2017 OS/Arch: linux/amd64 Experimental: false […]