How to Deploy Tomcat on k8s
跳到导航
跳到搜索
k8s部署tomcat
Deployment
root@k8s-master ~]# cat tomcat.yml apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-deployment labels: app: tomcat spec: replicas: 3 selector: matchLabels: app: tomcat template: metadata: labels: app: tomcat spec: containers: - name: tomcat image: tomcat:latest ports: - containerPort: 8080 #run [root@k8s-master ~]# kubectl apply -f tomcat.yml deployment.apps/tomcat-deployment created
具体Deployment编写细节请参考以下地址: https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
查看 和状态
kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE tomcat-deployment 3/3 3 3 3m29s [root@k8s-master ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES myweb-j78ct 1/1 Running 1 45h 10.244.1.5 k8s-node1 <none> <none> myweb-vhxx9 1/1 Running 1 45h 10.244.2.3 k8s-node2 <none> <none> tomcat-deployment-84ff9bf6b4-2f5cc 1/1 Running 0 3m49s 10.244.2.5 k8s-node2 <none> <none> tomcat-deployment-84ff9bf6b4-7g26m 1/1 Running 0 3m49s 10.244.0.11 k8s-master <none> <none> tomcat-deployment-84ff9bf6b4-qptr7 1/1 Running 0 3m49s 10.244.1.6 k8s-node1 <none> <none> [root@k8s-master ~]# curl 10.244.1.6:8080 <!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is
创建service提供外部访问
cat tomcat-service.yaml apiVersion: v1 kind: Service metadata: name: tomcat-service spec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30080 selector: app: tomcat kubectl apply -f tomcat-service.yaml # kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2d3h myweb-vhxx9 NodePort 10.110.242.197 <none> 8080:31747/TCP 45h nginx-pod NodePort 10.97.117.84 <none> 80:32026/TCP 2d3h tomcat-service NodePort 10.97.228.221 <none> 8080:30080/TCP 10m [root@k8s-master ~]# visat mastip + 30080 http://192.168.10.158:30080/