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