使用yaml文件将Docker容器部署到Kubernetes

使用yaml文件将Docker容器部署到Kubernetes,docker,kubernetes,Docker,Kubernetes,我正在尝试使用YAML文件(本地系统)将docker容器部署到Kubernetes 第1部分:码头集装箱(工作罚款) 我能够运行容器并推入docker hub 能够通过浏览器访问容器应用程序 第2部分:Kubernetes(不工作) 编写了包含部署和服务的deployment.yaml文件 部署:它正在成功创建pod 服务:添加了服务并尝试通过浏览器访问应用程序,但该应用程序不起作用 错误:无法访问站点 码头工人: 集装箱被推入码头中心 姓名:$ID/tomcat jenkins

我正在尝试使用YAML文件(本地系统)将docker容器部署到Kubernetes

第1部分:码头集装箱(工作罚款)

  • 我能够运行容器并推入docker hub
  • 能够通过浏览器访问容器应用程序
第2部分:Kubernetes(不工作)

  • 编写了包含部署和服务的deployment.yaml文件
  • 部署:它正在成功创建pod
  • 服务:添加了服务并尝试通过浏览器访问应用程序,但该应用程序不起作用 错误:无法访问站点

码头工人:

  • 集装箱被推入码头中心
    • 姓名:$ID/tomcat jenkins
    • 版本:3
库伯内特斯:

  • 部署.yaml
在Kubenetes吊舱中部署容器后,我无法访问该应用程序


我不确定我的deployment.yaml文件是否包含一些语法错误。

当您在节点端口上公开服务时,您可以使用`。对于上述服务,nodeport的值为31011

下面是解释在k8s上公开服务的详细信息

ClusterIP(默认)-在群集中的内部IP上公开服务。此类型使服务只能从群集中访问

NodePort—使用NAT在群集中每个选定节点的同一端口上公开服务。使用以下命令从群集外部访问服务:。聚类超集

LoadBalancer—在当前云中创建外部负载平衡器(如果支持),并为服务分配固定的外部IP。节点端口超集


我对Kuberntes非常陌生-以下是外部IP的详细信息:192.XX.XX.1X(启动minikube时生成的IP)群集IP:10.110.XX.121尝试访问应用程序:192.XX.XX.1X:31011 10.110.XX.121:31011无效…minikube提供以下命令以访问浏览器上的svc
minikube service$service\u NAME
针对您的案例
minikube service jenkins
Curl输出:root@jenkins-8478654f4c-98n8f:/#旋度-千伏localhost:8080*重新生成的URL到:localhost:8080/*尝试127.0.0.1…*TCP#U节点集*连接到本地主机(127.0.0.1)端口8080(#0)>GET/HTTP/1.1>Host:localhost:8080>User-Agent:curl/7.58.0>Accept:/Dockerfile&deployment.yaml文件中更新端口8080后-我能够通过Kubernetes-portSuresh连接应用程序-非常感谢您的有用指针-帮助我解决问题下面的命令Kubectl GET-po-owide的输出--show labels如果您的deployment.yaml文件没有语法错误,则会出现加载错误。当然,这并不意味着它对kubernetes来说是有意义的,因为kubernetes不使用标记,对数据结构进行各种内部解释。
    apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
    kind: Deployment
    metadata:
      name: jenkins
    spec:
      selector:
        matchLabels:
          app: tomcat
      replicas: 2 # tells deployment to run 2 pods matching the template
      template:
        metadata:
          labels:
            app: tomcat
        spec:
          containers:
          - name: tomcat-jenkins
            image: $DOCKER-ID/tomcat-jenkins:3
            ports:
            - containerPort: 80
    # Service
    apiVersion: v1
    kind: Service
    metadata:
      name: jenkins
    spec:
      selector:
        app: tomcat
      ports:
      - protocol: TCP
        port: 80
        targetPort: 80
        nodePort: 31011
      type: NodePort