Tag: kubernetes

将Java应用程序连接到YouTube Vitess数据库

我使用DEPLOYMENTS将我的java web应用程序部署到了kubernetes中,并且能够将其扩展并连接到数据库POD,但是我也想扩展数据库,但是如您所知在kubernetes中不可行,并且MYSQL REPLICA不推荐用于生产。 所以我尝试了vitess,能够扩展我的数据库,但不知道如何或应该在哪里创build我的Java Web应用程序部署/ REPLICAS,并通过vtgate连接到数据库。 是否有另一种方式通过kubernetes扩展mysql数据库?

如何使用私人dockerregistry定义Kubernetes作业?

我有一个简单的Kubernetes工作(基于http://kubernetes.io/docs/user-guide/jobs/work-queue-2/例子),该工作使用了一个Docker镜像,作为公共镜像放置在我的dockerhub上帐户。 这一切都是这样的: job.yaml : apiVersion: batch/v1 kind: Job metadata: name: job-wq-2 spec: parallelism: 2 template: metadata: name: job-wq-2 spec: containers: – name: c image: jonalv/job-wq-2 restartPolicy: OnFailure 现在我想尝试使用需要身份validation的私有Dockerregistry,如下所示: docker login https://myregistry.com 但是我找不到有关如何将用户名和密码添加到我的job.yaml文件的任何信息。 它是如何完成的?

Kubernetes和ERR_CONNECTION_RESET

我有一个有两个容器的容器,都运行nginx。 一个在端口80上运行,另一个在端口88上运行。我无法访问80端口上的端口,但似乎无法访问端口88上的端口。当我尝试时,我得到: 无法到达此站点连接已重置。 ERR_CONNECTION_RESET 所以这里是细节。 1)容器在部署YAML中定义为: – name: rss-reader image: nickchase/nginx-php-rss:v3 ports: – containerPort: 88 2)我创build的服务: kubectl expose deployment rss-site –port=88 –target-port=88 –type=NodePort –name=backend 3)这创build了一个服务: root@kubeclient:/home/ubuntu# kubectl describe service backend Name: backend Namespace: default Labels: app=web Selector: app=web Type: NodePort IP: 11.1.250.209 Port: <unset> 88/TCP NodePort: <unset> 31754/TCP Endpoints: 10.200.41.2:88,10.200.9.2:88 Session Affinity: None No events. […]

CrashLoopBackOff在Kubernetes中添加参数时

这个部署没有问题,直到我将args(下面添加)添加到部署中。 我不明白为什么添加简单的参数会变成CrashLoopError。 我什至尝试回声Hello World,它仍然导致CrashLoopError。 没有日志,当我描述该窗格时,显示: Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "nginx" with CrashLoopBackOff: "Back-off 10s restarting failed container=nginx pod=nginx-2247906467-r9znh_dave-testing(98c3999e-c39b-11e6-936e-0050568b4a68)" 这是YAML: – kind: Deployment apiVersion: extensions/v1beta1 metadata: name: nginx spec: replicas: 1 template: metadata: labels: name: nginx version: "1.9" spec: containers: – name: nginx imagePullPolicy: Always image: "nginx:1.9" ports: – containerPort: […]

Kubernetes插件容器不能连接回Jenkins

我有一个在AWS的同一个networking中运行的Jenkins和Kubernetes集群。 jenkins有它自己的实例。 我已经configuration了Kubernetes插件,如下所示: 使用推荐的JNLP docker镜像。 Jenkins JNLP端口被configuration为静态5000 。 现在,当我开始工作时,它告诉我该节点处于离线状态。 当我点击脱机节点,我得到这个: 这使我去到K8集群。 运行docker ps显示没有容器在运行。 然而: 从那里,我去find什么docker容器运行,以及之后它离开什么日志: 我使用: https : //github.com/jenkinsci/docker-jnlp-slave作为图像 https://github.com/jenkinsci/kubernetes-plugin jenkins版本: 2.27 k8: hyperkube:v1.4.3_coreos.0 jenkins确实旋转了容器,我猜它运行并出错,因为在容器运行期间没有提供有效的参数。 我需要它是一个手动过程,我不必login到我的容器(Java客户端)。 我如何做到这一点? UPDATE 基于这个答案: kubernetes奴隶不能注册jenkins大师 如果我login容器并运行Jenkins显示在无法连接的主机下的命令: java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2 容器通过JNLP2连接,作业运行。 我试图按照build议添加参数,但没有运气。 容器仍然不会自动连接:

在Docker中根和非Root用户之间切换

所以我试图在Minikube上部署一个Django应用程序。 但是在其中一个容器中,映像要求我在某些任务的root下,然后切换postgres用户以创build一些数据库,然后切换回root以运行更多的命令。 我知道我可以使用Docker的USERfunction,但是根据用户的不同,我也会尝试运行su – postgres但是返回一个错误,说明命令必须来自terminal。 任何想法如何解决这个问题?

Kubernetes Redis HA并将Redis暴露给容器外的事物

我正在尝试学习docker和kubernetes,而我正在尝试做的事情之一是使用Sentinel设置Redis,并将Redis暴露给容器外的事物。 按照https://github.com/kubernetes/kubernetes/tree/master/examples/storage/redis获取redis和sentinel的设置非常简单 但是现在我的下一个愿望是能够访问容器外的redis,而我无法弄清楚谁要暴露哨兵和主控制器。

Kubernetes复制控制器删除

我有Kunernetes Pod和复制控制器在AWS EC2实例上运行。 如果pod的状态失败或崩溃,则创build该pod的复制控制器必须在5分钟后删除。 基本上我想要的是当我运行命令: "kubectl get pods –namespace=<namespace>" 我想考虑状态列的结果,如果有ClashloopBackOff,那么在5分钟后必须删除那些豆荚。 这是我想自动化,并期待为此编写一个shell脚本。

Kubernetes服务DNSparsing返回错误的IP

我有一个简单的MYSQL pod坐在MYSQL服务后面。 此外,我有另一个正在运行的python进程试图连接到MYSQL窗格的荚。 如果我尝试从python pod手动连接到MYSQL pod的IP地址,那么一切都是OK。 但是,如果我尝试连接到MYSQL 服务,然后我得到一个错误,我无法连接到MYSQL。 grant@grant-Latitude-E7450:~/k8s/objects$ kubectl describe pod mysqlpod Name: mysqlpod Namespace: default Node: minikube/192.168.99.100 Start Time: Fri, 20 Jan 2017 11:10:50 -0600 Labels: <none> Status: Running IP: 172.17.0.4 Controllers: <none> grant@grant-Latitude-E7450:~/k8s/objects$ kubectl describe service mysqlservice Name: mysqlservice Namespace: default Labels: <none> Selector: db=mysqllike Type: ClusterIP IP: None Port: <unset> 3306/TCP […]

从nslookupd发现nsqd服务器地址

我使用以下docker-compose.yaml文件在Docker容器中运行一个nsq集群: version: '2' services: nsqlookupd: image: nsqio/nsq command: /nsqlookupd ports: – "4160" – "4161:4161" nsqd: image: nsqio/nsq command: /nsqd –lookupd-tcp-address=nsqlookupd:4160 –data-path=/data volumes: – data:/data ports: – "4150:4150" – "4151:4151" nsqadmin: image: nsqio/nsq command: /nsqadmin –lookupd-http-address=nsqlookupd:4161 ports: – "4171:4171" volumes: data: 一切运行良好。 但是,如果我在nsqdlookup服务器上调用/ nodes端点,我得到这个: $ http http://localhost:4161/nodes HTTP/1.1 200 OK Content-Length: 238 Content-Type: application/json; charset=utf-8 Date: […]