我在Amazon Web Services上通过kops设置了一个kubernetes集群 我有一个2个网站的设置。 一个是通过SSL / TLS / https保护的,另一个是http。 两者都是WordPress的网站。 域名更改为保护网站身份 Ingressconfiguration: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-rules spec: tls: – hosts: – site1.com secretName: site1-tls-secret – hosts: – www.site1.com secretName: site1-tls-secret rules: – host: site1.com http: paths: – path: / backend: serviceName: site1 servicePort: 80 – host: www.site1.com http: paths: – path: / […]
我正在玩kubernetes。 我根据当地的文件,使用无用的方法开始了它。 一切工作正常,但我不能设法暴露服务端口,例如一个容器的Web前端。 在文档中,它只是描述谷歌云,谷歌似乎被自动configuration为暴露负载均衡器上的端口。 但是我怎样才能在本地安assembly置一个端口?
为了在Docker容器中本地运行kubernetes集群,我遵循本教程 。 当我运行kubectl get nodes ,我得到: 与服务器localhost:8080的连接被拒绝 – 您是否指定了正确的主机或端口? 我注意到一些容器,如apiserver,由kubelet开始退出。 这是docker ps -a的输出: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 778bc9a9a93c gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube apiserver" 3 seconds ago Exited (255) 2 seconds ago k8s_apiserver.78ec1de_k8s-master-sw-ansible01_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_de6ff8f9 12dd99c83c34 gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" 3 seconds ago Exited (7) 2 seconds ago k8s_setup.e5aa3216_k8s-master-sw-ansible01_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_3283400b ef7383fa9203 gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" 4 seconds ago Exited […]
这个有一点理论上的问题,但请耐心等待。 目前我有一个运行几个Docker容器的服务器(4或5,取决于date和时间)。 我打算再增加一个,就像第一个,甚至第三个一样。 现在,我的问题是:如果我有15个容器来pipe理,而不是5个,那么使用Google Kubernetes有什么好处? 另外,是否有一个“官方”或者至less是“明确”的工作stream程从Docker容器迁移到Kubernetes的本地单元“pod”。 在你问之前,我知道豆荚是由容器制成的(甚至有一次)。 我的主要问题是“dockerfiles”与pod configs完全不同。 有任何想法吗?
目前我正在开发一个小型的爱好项目,一旦准备就绪,我就可以开源。 此服务正在Google Container Engine上运行。 我selectGCE来避免configuration麻烦,成本低廉,学习新东西。 我的豆荚运行良好,我创build了一个types为LoadBalancer的服务来公开端口80和443上的服务。 但是,我发现,对于每个LoadBalancer服务,都会创build一个新的Google Compute Engine负载平衡器。 这个负载均衡器相当昂贵,而且对于一个单一实例的业余爱好项目来说真的已经完成了。 为了削减成本,我正在寻找一种方法来暴露没有负载平衡器的端口。 我到目前为止所尝试的是: 部署一个NodePort服务。 不幸的是它不允许暴露30000以下的端口。 部署Ingress,但是这也会创build一个负载平衡器。 试图禁用HttpLoadBalancing ( https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters#HttpLoadBalancing ),但它仍然创build一个负载平衡器。 有没有一种方法可以在没有负载平衡器的情况下为Google Container Engine上的单个实例公开端口80和443?
我试图通过在Google Container Engine上使用静态IP地址的kubectl expose命令公开kubernetes“deployment”。 随着短暂的IP,一切工作正常: kubectl expose deployment my-application \ –type="LoadBalancer" –port=80 –target-port=8080 我使用kubectl get services然后等待几分钟以查看已分配的临时IP。 我在浏览器中inputIP,然后看到应用程序,即一切正常。 但是,当我做到以下几点: 使用gcloud Web界面创build静态IP地址(networking – >外部IP地址 – >保留静态IP地址) 使用与上面相同的命令重新创build服务,但使用额外的–load-balancer-ip选项 kubectl expose deployment my-application \ –type="LoadBalancer" –port=80 –target-port=8080 \ –load-balancer-ip='1.2.3.4' # IP as assigned by web interface above 该命令成功,但在该IP地址下无法访问应用程序,并且在使用以下命令时: $ kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE endpoints 10.119.247.39 […]
我有以下Kubernetes作业configuration: — apiVersion: batch/v1 kind: Job metadata: name: dbload creationTimestamp: spec: template: metadata: name: dbload spec: containers: – name: dbload image: sdvl3prox001:7001/pbench/tdload command: ["/opt/pbench/loadTpcdsData.sh", "qas0063", "dbc", "dbc", "1"] restartPolicy: Never imagePullSecrets: – name: pbenchregkey status: {} 当我做kubectl create -f dbload-deployment.yml –record作业和一个pod被创build,Docker容器运行完成,我得到这个状态: $ kubectl get job dbload NAME DESIRED SUCCESSFUL AGE dbload 1 1 1h $ […]
我在谷歌容器引擎中有一个单独的节点kubernetes集群来玩弄。 两次,我主持一个小型个人网站已经离线了几分钟。 当我查看容器的日志时,我看到最近完成的正常启动顺序,所以我假设容器已经死亡(或已被杀死?)并重新启动。 我怎样才能弄清楚这是怎么发生的? 有没有办法得到警报,每当一个容器意外启动/停止?
我正在部署使用Google Container Engine的networking应用程序,并且希望通过负载均衡器访问我作为Google云平台中同一项目的一部分而控制的现有静态IP地址,因为我要使用的域名已经指向这个IP。 我用于该窗格的yaml文件是: apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: my-app spec: containers: – name: my-container image: gcr.io/my-project/my-app:latest 我可以使用以下方法设置负载平衡器: apiVersion: v1 kind: Service metadata: name: my-load-balancer spec: ports: – port: 80 targetPort: 80 selector: app: my-app type: LoadBalancer 这提供了一个应用程序可访问的外部IP,但我找不到任何方式来configuration它使用我想要的IP。 服务文档提到了spec.clusterIP设置,但是这似乎与外部IP无关。 同样,一旦设置了负载平衡器,服务的status.loadBalancer.ingress.ip字段就被设置为其外部IP地址,但这似乎不是一个可configuration的设置。 另外,我尝试在Google Compute Engine控制台中手动创build转发规则,以将stream量从我的静态IP地址引导至由Kubernetes设置的目标池,但是当我尝试连接连接时被拒绝。 有什么办法做我想做的 – 在Google Container引擎上公开一个Kubernetes Pod(或复制控制器)在一个选定的静态IP地址?
我们有一个4节点的Kubernetes集群,使用Juju 2.0和官方标准的Kubernetes魅力安装。 这个本地和私人安装的唯一目的是开发和testing。 这种安装最大的和logging的问题之一就是完全没有正常的服务器closures程序。 由于只有etcd节点closures,整个configuration才会丢失。 我们花了相当多的时间寻找Kubernetes的自动备份/恢复脚本/程序。 对于我们遇到的问题,最常见的答案是使用Juju从头开始部署服务器。 给定30-35分钟。 部署时间似乎不是一个有吸引力的解决scheme? 你碰巧有任何可行的解决这个问题?