Tag: kubernetes

具有Vagrant节点的Kubernetes不会注册

我一直在经历这个开始与Kubernetes,运行在Mac OS V 10.9.5,Vagrant V 1.7.4,VirtualBox V 4.3.28和Kubernetes V 1.0.3: https : //github.com/kubernetes /kubernetes/blob/master/docs/getting-started-guides/vagrant.md 完整安装日志可以在这里find: http : //mcdonaldland.info/files/kubernetes/install-log.txt 我已经尝试了这个下载和sh安装版本。 我已经运行了多次,每次到达“等待每个注册云提供商”的步骤,并永远循环。 最后,我“CTRL + C”并退出脚本。 在查看源代码时,显然与未find的节点有关,但我无法弄清楚为什么找不到它们。 杀死脚本后,运行“kubectl get nodes”不会返回任何结果。 如果我使用SH脚本,也会发生同样的情况。 如果我在〜/ kubernetes / cluster director并运行'vagrant ssh master'或'vagrant ssh minion-1',我可以连接到他们。 如果我运行一些脚本添加豆荚,我可以让他们注册。 与复制控制器相同。 当我检查状态时,豆荚永远不会启动。 当我挖掘日志时,看起来节点不能连接到(又名find),并且小兵在启动时出错。 我一直在努力5天,现在找出为什么我的节点没有正确显示/注册。 我想我错过了一些简单的东西,但现在已经不知所措了。 任何帮助表示赞赏。 提前致谢。

将Kubernetes容器连接到独立VPC中的RDS实例

我有一个Kubernetes集群在自己的VPC内部的Amazon EC2中运行,我试图让Docker化服务连接到一个RDS数据库(在不同的VPC中)。 我已经find了对等和路由表条目,所以我可以从小型机器做到这一点: ubuntu@minion1:~$ psql -h <rds-instance-name> Password: 所以这一切工作。 问题是,当我尝试从Kubernetespipe理的容器内部build立连接时,我得到一个超时: ubuntu@pod-1234:~$ psql -h <rds-instance-name> … 为了获得连接,我configuration了一个对等连接,从Kubernetes VPC设置路由表,以便10.0.0.0/16 VPC的CIDR)映射到对等连接,并更新RDS实例的安全组允许来自地址范围172.20.0.0/16(Kubernetes VPC的CIDR)的端口5432的stream量。

在kubernetes中分析Java应用程序

我想在我的Kubernetes集群上剖析我的应用程序。 我正在使用VisualVM,我采取的步骤如下所示: 图像是build立在最新的Ubuntu的 使用以下参数运行我的游戏应用程序: "-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.port=1098" 我的图像有apt-get install -y visualvm 我做kubectl port-forward <Container> 1098 打开VisualVM,我没有看到这个过程。 我不知道我在这里做错了什么。 在localhost上运行应用程序(不是通过IDE,直接从启动脚本)一切工作正常。 更新1,部署和服务 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: myApp labels: name: myApp spec: replicas: 1 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: name: myApp labels: name: myApp spec: containers: – name: myApp image: … […]

何时使用Docker HEALTHCHECK vs livenessProbe / readinessProbe

探针指令在Dockerfile中指定HEALTHCHECK的新function似乎是多余的。 有什么build议什么时候使用?

在registry/ kubernetes更新时强制刷新泊坞窗图像

使用Kubernetes进行部署: 考虑到我有一个Dockerfile,我build立,然后推送到registry。 如果我在主机上运行一个容器,图像被拉出,容器运行。 现在,如果我更新Dockerfile,生成并再次推送, 而不更改其标记,然后在registry中更改图像,但主机有图像拉,似乎并没有去寻找更新。 如何在运行容器时强制拉取最新的图像? 我可以手动拉图像,但我想知道是否有一个“正式的方式”这样做(在pod或rc模板?) 感谢您的见解。

将条目添加到容器/ etc / hosts使用pod1.yaml或pod1.json旋转一个容器

我希望这里的每个人都做得很好。 我试图find一种方法来添加条目到容器/ etc / hosts文件,同时旋转一个吊舱。 我只是想知道是否有任何选项/参数,我可以在我的“pod1.json”中添加条目添加到容器/ etc /主机创build时。 就像“–add-host node1.example.com:$ {node1ip}”一样,为docker提供相同的用途,如下所示。 docker run \ –name mongo \ -v /home/core/mongo-files/data:/data/db \ -v /home/core/mongo-files:/opt/keyfile \ –hostname="node1.example.com" \ –add-host node1.example.com:${node1ip} \ –add-host node2.example.com:${node2ip} \ –add-host node3.example.com:${node3ip} \ -p 27017:27017 -d mongo:2.6.5 \ –smallfiles \ –keyFile /opt/keyfile/mongodb-keyfile \ –replSet "rs0" 任何指针,高度赞赏。 谢谢。 问候,Aj

Docker Compose:将不同的服务从docker-compose.yml部署到不同的主机集

比方说,我有一个docker-compose.yml文件,有三种不同的服务(s1,s2,s3)。 然后,如果我部署它们,比如在一个主机上的AWS ECS(举个例子)群集,所有的三个containers都会去那个主机。 如果我缩放群集2主机,那么第二个主机,然后第二个主机也将获得所有三个containers 。 理想情况下,我想为不同的services有不同的 clusters ,以便它们可以独立扩展。 我不想让我的数据库容器与我的backend容器在同一个群集上,因为它们都有不同的扩展需求。 我将如何实现这种与docker构成的行为? Kubernetes提供了这种抽象的概念,但是由于这不是docker的一部分,我想知道如何在docker中开发多服务应用程序,其中每个service (在docker-compose.yml中定义)可以独立调整。 *

jenkinsCDpipe道Kubernetes

我打算有一个与Jenkins的CDpipe道,接受我的应用程序,发布docker图像到我的私人docker存储库。 我想我知道该怎么做。 我不确定Kubernetes的部分。 我想要把这个镜像部署到我的私有Kubernetes集群(目前是1 Master&1 Slave)。 问题:安装kubectl和docker的Jenkins Slave是否需要成为Kubernetes集群的一部分才能触发部署? 我怎样才能触发这个部署?

容器“gcr.io/google_containers/pause:0.8.0”中的过程有什么function?

我已经清楚地知道–net=container:NAME_or_ID选项的用法–net=container:NAME_or_ID ,我也读过了关于如何configuration容器使用InfraContainernetworking的InfraContainer的源代码,所以我认为唯一的工作是在这个过程中容器gcr.io/google_containers/pause:0.8.0确实是“暂停”,它不会做任何复杂的工作,如“接收”,“发送”或“路由”。 但我不确定,因为我找不到Dockerfile的gcr.io/google_containers/pause:0.8.0 ,所以我需要有人清楚的告诉我实话,谢谢!

如何将Kubernetes日志发送到AWS CloudWatch?

AWS CloudWatchlogin到Docker 在docker中设置AWS CloudWatch Logs驱动程序是通过log-driver=awslogs和log-opt ,例如, #!/bin/bash docker run \ –log-driver=awslogs \ –log-opt awslogs-region=eu-central-1 \ –log-opt awslogs-group=whatever-group \ –log-opt awslogs-stream=whatever-stream \ –log-opt awslogs-create-group=true \ wernight/funbox \ fortune 我的问题 我想在Kubernetes群集中使用AWS CloudWatch日志,其中每个群集包含一些Docker容器。 每个部署将有一个单独的日志组,每个容器将有一个单独的stream。 我找不到通过Kubernetes create / apply将日志参数发送到Docker容器的方法。 我的问题 如何将log-driver和log-opt选项参数发送到pod / deployment中的Docker容器? 我试过了什么 在每台机器上设置Docker守护进程的相关参数。 这是可能的,但是这样,同一台机器上的所有容器将共享相同的stream – 因此与我的情况无关。 kubectl apply于kubectl apply RTFM 用kops读相关的README 阅读Kubernetes Logging Architecture