1、先在k8s集群上部署一个tomcat应用1.我先写了一个tomcat的tomcat-deployment.yml资源文件内容如图apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat labels: app: tomcatspec: replicas: 1 selector: matchLabels: app: tomcat template: metadata: labels: app: tomcat spec: containers: - name: tomcat image: tomcat:latest ports: - containerPort: 8080
2、通过tomcat-deployment.yml部署一个tomcat应用输入kubectl create -ftomcat-deployment.yml --namespace=default创建pod
3、创建service1.创建tomcat-service.yml 文件apiVersion: v1kind: Servicemetadata: name: tomcat namespace: default labels: app: tomcatspec: ports: - name: http port: 8080 targetPort: 8080 protocol: TCP selector: app: tomcat
4、输入kubectl create -ftomcat-service.yml 创建service
5、测试service输入curl 10.233.35.250:8080语法: curl service 的ip:端口
6、通过ingrass暴露服务至外网1.创建tomcat-ingress.yml 资源文件文件内容如下:apiVersion: extensions/v1beta1kind: Ingressmetadata: labels: app: tomcat name: tomcat namespace: default annotations: nginx.ingress.kubernetes.io/rewrite-target: /spec: rules: - host: tomcat.k8s-dev.com http: paths: - path: / backend: serviceName: tomcat servicePort: 8080
7、创建ingress输入kubectl create -ftomcat-ingress.yml 回车输入kubectl get ing -o wide 回车
8、在外部电脑访问tomcat服务浏览器输入服务地址访问,如图发现无法访问,这需要在这台电脑上配置hosts
9、在要访问服务的机器上配置hosts以windows为例找到hosts文件
10、编辑hosts文件加入如下内容k8s任意一台master的ip tomcat的服务域名注:通过输入kubectl get node -o wide 查看k8s master的ip
11、配置好后保存,再次访问tomcat服务的域名ok,成功