Tag: kubernetes

集装箱失败时失败

我有两个容器:一个是java应用程序,第二个是mysql代理。 我想要实现的是如果Java容器退出非零退出代码,整个吊舱失败。 我使用.spec.template.spec.restartPolicy =“Never”作为控制器,根据“Pod失败时,Job控制器启动一个新的Pod”的规范。 不幸的是,如果只有一个容器出现故障,那么无论重启策 重新启动容器对我来说还不够好,因为我需要一个新的IP地址来防止出现故障。 感谢您的帮助

DNS在Google Compute Engine节点中运行的Docker镜像不起作用

我有一个在Google Compute Engine节点上运行的Python程序,通过Kubernetes部署在Docker镜像上。 程序执行的一部分涉及连接到几个外部数据库,其中之一是BigQuery。 昨天该程序自发地开始DB插入失败(最后一次提交已稳定运行了几天)。 该错误表明该计划没有解决地址www.googleapis.com。 我连接到pod,并意识到DNS服务器不工作; ping到google.com甚至没有经过。 我检查了Docker镜像的resolv.conf文件,并在nameserver属性上find了一个本地IP地址。 我尝试了ping它,但它不会回应。 我将IP地址更改为Google的公有DNS,但似乎由于BigQuery客户端通过应用程序默认凭据获取证书的方式,客户端尝试访问名为metadata.google.internal的服务器,该服务器不能parsing在公共DNS中。 所以我再次将IP地址更改为计算引擎节点的DNS地址,因为它显示在其resolv.conf文件中。 这解决了这个问题。 但是,我现在必须在每次重新部署Docker映像时都做同样的更改,这非常烦人。 我很想知道Docker如何决定映像的DNS地址,以及为什么它能正常工作,并突然停止工作。 有任何想法吗? 谢谢一堆。

在ubutnu机器上安装kubernet 2个小时和1个主节点

我正在按照https://gettech1.wordpress.com/2016/05/26/setting-up-kubernetes-cluster-on-ubuntu-14-04-lts/上的这个教程来设置kubernet多节点2个小兵和1在远程Ubuntu机器上的主节点,按照所有的步骤后,它确定。 但是当我试图运行./kube-up.sh bash文件。 它返回以下错误 的ubuntu @ IP-XXX-YYY-ZZZ-AAA:〜/ kubernetes /集群 $ ./kube-up.sh 使用提供商gce …调用在我们的central1-b中启动群集 verify-prereqs无法在PATH中findgcloud,请修复并重试。 该 Google Cloud SDK可以从https://cloud.google.com/sdk/下载。 编辑:我已经修复上面的问题后,导出不同的环境variables $ export KUBE_VERSION=2.2.1 $ export FLANNEL_VERSION=0.5.5 $ export ETCD_VERSION=1.1.8 但在此之后,它正在产生这个问题 kubernet gzip:stdin:不是gzip格式tar:孩子返回状态1 tar:错误不可恢复:现在退出

Kubeadm +法兰绒,服务无法访问

我正在使用RHEL 7.3。 我已经按照下面的链接创build了kubernates集群。 https://www.reancloud.com/blog/installing-kubernetes-using-kubeadm/ 群集已成功创build。 豆荚,服务部署成功。 我正在使用NodePort将服务的端口公开。 问题是,我无法访问NodePort来访问服务。 PS:虽然服务已经部署,但即使从专用networking也无法访问。

有没有关于如何通过kubernetes启动一个容器时通过所有参数到Docker容器的明确指南?

我想用参数–oom-score-adj开始一个Kubernetesdocker集装箱。 我的kubernetes部署脚本如下所示: apiVersion: extensions/v1beta1 kind: Deployment metadata: name: xxx spec: template: metadata: labels: app: xxx spec: volumes: – name: some-name hostPath: path: /some-path containers: – name: xxx-container image: xxx-image imagePullPolicy: "IfNotPresent" securityContext: privileged: true command: – /bin/sh – -c args: – ./rsome-command.sh volumeMounts: – name: some-name mountPath: /some-path 当我检查创build的容器时,我发现–oom-score-adj被设置为1000.我想将其设置为0.任何人都可以摆脱任何线我怎么能做到这一点? 有没有明确的指导来通过这样的论点?

如何使两个docker集装箱在kubernetes上共享sqllite db?

我试图build立一个实质上由两部分组成的应用程序。 基于Django的api SQLite数据库。 Api与SQLite数据库交互,但只能读取访问权限。 但是,SQLite数据库需要每N分钟更新一次。 所以我的计划是做两个docker集装箱。 第一个,为api。 第二个是每隔N分钟使用CRON(Ubuntu)更新数据库的脚本。 我正在使用Kubernetes来服务我的应用程序。 所以我想知道是否有办法实现我想要的东西? 我已经研究了Kubernetes中的持久卷,但是仍然没有看到如何使其工作。 编辑: 所以我认为我可以在Kubernetes上使用一个容器两个共享两个容器,这样就可以使用emptyDir。 我的问题是,如何在我的python文件中定义这个目录的path? 谢谢,卢卡斯

如何在kubernetes中触发Liveness Probe失败

我在我的服务deployment.yaml中有以下活性探测器 livenessProbe: failureThreshold: 3 httpGet: path: /health port: 9081 scheme: HTTP initialDelaySeconds: 180 timeoutSeconds: 10 periodSeconds: 10 successThreshold: 1 我想testing一下,这个探测器实际上是否触发了一个POD重新部署,这是最简单的做法,使它失败? 可能以编程方式。 更新: 更好地澄清问题,我不想更改应用程序中的代码,既不暂停正在运行的容器。 我想知道是否有可能在运行时阻断端点/端口可能使用kubernetes或docker命令。

jenkinsGCE不build设

我试图让我的头在GCE的Jenkins CD和K8s。 我正在关注GCE的教程: https : //cloud.google.com/solutions/continuous-delivery-jenkins-container-engine 出于某种原因,应用程序不会构build: 这是Jenkins控制台输出。 这是我的Jenkins文件: node { def project = 'xxxxxx' def appName = 'gceme' def feSvcName = "${appName}-frontend" def imageTag = "eu.gcr.io/${project}/${appName}:${env.BRANCH_NAME}.${env.BUILD_NUMBER}" checkout scm sh("echo Build image") stage 'Build image' sh("docker build -t ${imageTag} .") sh("echo Run Go tests") stage 'Run Go tests' sh("docker run ${imageTag} go test") sh("echo Push […]

使用kubernetes存储和更新我的应用程序的configuration文件

我的应用程序使用configuration文件。 如何推送更新? 他们应该如何储存方便的更新? 在卷? 该应用程序的pipe道是Git – > CI – > deb repo – > dockerregistry。 所以更新它只是告诉kubernetesselect一个新的形象。 怎么做的configuration文件? 也许是同一个链,然后用NFS启动一个容器呢? 此外,应用程序必须通过SIGHUP通知参数更改。 如何添加该钩子?

是否有可能在Kubernetes上运行实时多人游戏的匹配服务器?

我似乎无法在网上find任何资源,但通过使用StatefulSet(?)似乎是可能的。 我可以想象,每当一场比赛,一个波德将被安排,当比赛结束时,将被删除。 还有一些其他问题,如:如何pipe理升级? 人们不能简单地closures正在进行的比赛。 非常好奇听到如何解决这个问题。 更新:匹配服务器所需的唯一状态是内存。 它将跟踪那场比赛的球员,球队组成等。这可以很容易地通过Envvariables传入。 比赛通常会持续5-20分钟,比赛结束后实例/ Pod将被拆除。