Tag: kubernetes

Kubernetes无法在给定的IP上看到我的应用程序

我正在尝试使用Kubernetes来运行我的应用程序我已经从文件中创build了一个名为deployment.yaml ,该文件名为service.yaml 这里是deployment.yaml的内容: apiVersion: v1 kind: Pod metadata: name: kubectl-test spec: containers: – name: kubectl-test image: gcr.io/[my-name]/node-app:0.0.1 imagePullPolicy: Always ports: – containerPort: 8080 hostPort: 8080 这是我的services.yaml kind: Service apiVersion: v1 metadata: #Service name name: kubectl-test-node-app spec: selector: app: kubectl-test-189010 ports: – protocol: TCP port: 8000 targetPort: 8000 type: LoadBalancer 当我运行命令kubectl get deployments ,我可以看到: NAME DESIRED […]

minikube:无法连接本地部署的nginx服务

我已经在我的Ubuntu 16.04机器上安装了minikube,并启动了一个群集,并附有消息 "Kubernetes is available at https://192.168.99.100:443" 接下来,我使用以下命令部署了nginx服务 > kubectl.sh run my-nginx –image=nginx –replicas=2 –port=80 –expose > kubectl.sh get pods -o wide NAME READY STATUS RESTARTS AGE NODE my-nginx-2494149703-8jnh4 1/1 Running 0 13m 127.0.0.1 my-nginx-2494149703-q09be 1/1 Running 0 13m 127.0.0.1 > kubectl.sh get services -o wide NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kubernetes 10.0.0.1 <none> […]

如何使用Kubernetes在Cloud Containers Engine中的容器开始处运行脚本

我正尝试在使用Kubernetes的Google云端容器上运行Docker容器的开始处运行shell脚本。 我的应用程序目录的结构是这样的。 我想在容器的开始运行prod_start.sh脚本(我不想把它作为Dockerfile的一部分)。 当前安装程序无法启动容器与Command not found file ./prod_start.sh does not exist 。 任何想法如何解决这个问题? app/ … Dockerfile prod_start.sh web-controller.yaml Gemfile … Dockerfile FROM ruby RUN mkdir /backend WORKDIR /backend ADD Gemfile /backend/Gemfile ADD Gemfile.lock /backend/Gemfile.lock RUN bundle install networkingcontroller.yaml apiVersion: v1 kind: ReplicationController metadata: name: backend labels: app: myapp tier: backend spec: replicas: 1 selector: app: […]

在Kubernetes POD中build立PPTP连接

我正在尝试build立一个运行pptp-client的pod。 我想访问VPN后面的一台机器,这在本地工作正常,我的docker容器添加logging到我的本地主机的路由表,一切都很好。 ip route add xxxx dev ppp0 我只能build立到VPN服务器的连接,只要特权设置为true,network_mode设置为“主机” 生产环境稍有不同,“本地主机”将成为我们的Google Container集群中的三个运营节点之一。 我不知道在已build立的连接之后添加的路由是否只能通过在该节点内运行的容器来访问,但这是以后的问题。 泊坞窗,compose.yml version: '2' services: pptp-tunnel: build: ./ image: eu.gcr.io/project/image environment: – VPN_SERVER=XXXX – VPN_USER=XXXX – VPN_PASSWORD=XXXX privileged: true network_mode: "host" 这似乎是更难以实现与kubernetes,虽然这两个选项存在和声明,你可以看到我的清单。 (主机networking,特权) Kubernetes版本 版本1.6.6 PPTP的tunnel.yml apiVersion: v1 kind: Service metadata: name: pptp-tunnel namespace: default labels: spec: type: ClusterIP selector: app: pptp-tunnel ports: – […]

Kubernetes Autoscaling集装箱

是否有可能自动扩展docker容器,其中包含应用程序服务器(如wildfly / tomcat / jetty /)内kubernetes? 例如在CPU和RAM使用或基于HTTP请求? 如果有一个内置function,我找不到它,或者有可能写这样的configuration脚本的东西? 如果是这样的话,魔术会发生在哪里

Kubernetes,法兰绒和揭露服务

我有一个kubernetes设置运行很好,但我似乎无法公开外部服务。 我在想我的networking设置不正确: kubernetes服务地址:–service-cluster-ip-range = 172.16.0.1 / 16 法兰绒networkingconfiguration:etcdctl get /test.lan/network/config {“Network”:“172.17.0.0/16”} docker子网设置:–bip = 10.0.0.1 / 24 主机节点IP:192.168.4.57 我已经运行了nginx服务,并试图像这样暴露它: [root@kubemaster ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-px6uy 1/1 Running 0 4m [root@kubemaster ~]# kubectl get services NAME LABELS SELECTOR IP(S) PORT(S) AGE kubernetes component=apiserver,provider=kubernetes <none> 172.16.0.1 443/TCP 31m nginx run=nginx run=nginx 172.16.84.166 9000/TCP […]

Kubectl:与minikube Kubernetes超时

我已经安装了minikube,并启动了它的内置Kubernertes集群 $ minikube start Starting local Kubernetes cluster… Kubernetes is available at https://192.168.99.100:443. Kubectl is now configured to use the cluster. 我也有kubectl安装 $ kubectl version Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"283137936a498aed572ee22af6774b6fb6e9fd94", GitTreeState:"clean", BuildDate:"2016-07-01T19:26:38Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"} 但是我不能成功地使用kubectl来与正在运行的Kubernetes集群对话 $ kubectl get nodes Unable to connect to the server: net/http: TLS handshake timeout 编辑 $ minikube logs […]

将Docker映像部署到Kubernetes

最近几天我一直在使用Docker,并用Dockerfile创build了一个基本的Docker镜像。 它只是启动一个Web服务器。 现在,我一直在进一步阅读,并在Google Application Engine上创build了一个帐户,并希望将此映像部署到Kubernetes。 我感到失落。 我不明白我本地的Docker文件是如何转移到这个平台的? 我根本不用它们吗? 我已经看到了Podconfiguration的一些例子,但是我可以看到他们在Docker Hub中引用了图像? 有人能指出我在正确的方向上做什么?

如何在Kubernetes豆荚内“水平”组织容器?

所以我试图把我的头围绕着一个典型的Kubernetes吊舱的样子。 根据他们的文件 ,一个吊舱 : “ 一个荚(就像一群鲸鱼或者豌豆荚一样)对应着一组共同的上下文运行的应用程序。 ” 后来在同一篇文章中: “ Pod可以用来托pipe垂直集成的应用程序栈,但是他们的主要动机是支持共同定位… ” 好的,您可以将整个垂直堆栈(从数据库到Web应用程序)组织为单个窗格。 但显然这不是典型的组织方式,所以我认为通常一个“ 横向 ”组织是首选( 为什么? )。 但是对于我来说,横向分层/分层意味着你只能在一个容器中有一个容器,因为通常在每个服务层(web,app,cache,db等)中都有一个types的组件。 我们举一个具体的例子。 假设我们有以下的垂直堆叠: Web前端容器; Grails或者Spring MVC的web / app服务器 微服务容器; 核心业务逻辑所在的RESTful Web服务 消息代理(比如说RabbitMQ)容器 微服务caching(一些服务已经分布在他们和他们的DB /后备存储之间的Hazelcastcaching集群)容器 MySQL数据库集群容器 MongoDB集群容器 第三方REST风云API(比如SalesForce或Stripe或类似的) 这些是应用程序堆栈中相当典型的组件。 如果我们违背了Kubernetes自己的build议,并创build了“垂直alignment”的豆荚,那么每个豆荚将由每种层(Web /应用服务器,每个微服务,每个DB等)的一种容器组成。 但是,如何组织一个水平排列的吊舱? 什么容器将在哪个豆荚?

Kubernetes不从没有https的私有存储库中拖出docker镜像

我在私有docker注册中心的kubernetes-master上configuration了docker。 Docker推送到私人dockerregistry没有https成功。 我也可以使用docker来拉取图片。 当我为这个图像运行kubernetes时,我用'kubectl describe pods'得到以下日志: kubectl describe pods Name: fgpra-250514157-yh6vb Namespace: default Node: 5.179.232.64/5.179.232.64 Start Time: Tue, 11 Oct 2016 18:06:59 +0200 Labels: pod-template-hash=250514157,run=fgpra Status: Pending IP: <removed myself> Controllers: ReplicaSet/fgpra-250514157 Containers: fgpra: Container ID: Image: 5.179.232.65:5000/some_api_image Image ID: Port: 3000/TCP QoS Tier: cpu: BestEffort memory: BestEffort State: Waiting Reason: ErrImagePull Ready: False Restart […]