企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
在`/home/shiyanlou`目录下新建`tomcat-deployment.yaml`,并向其中写入如下内容: ~~~yaml apiVersion: apps/v1 kind: Deployment metadata: name: tomcat spec: selector: matchLabels: app: tomcat replicas: 2 template: metadata: labels: app: tomcat spec: containers: - name: tomcat image: tomcat ports: - containerPort: 8080 ~~~ 执行创建: ~~~bash $ kubectl create -f tomcat-deployment.yaml deployment.apps/tomcat created ~~~ 在`/home/shiyanlou`目录下新建`tomcat-svc.yaml`文件,并向其中写入如下内容: ~~~bash apiVersion: v1 kind: Service metadata: name: tomcat-svc spec: type: NodePort ports: - port: 80 # 设置 ClusterIP 对应的端口为 80 targetPort: 8080 # Pod 开放的端口为 8080 nodePort: 30001 # 设置在 Node 上开放的端口为 30001 selector: app: tomcat ~~~ 执行创建: ~~~bash $ kubectl create -f tomcat-svc.yaml service/tomcat-svc created # 创建 NodePort 类型的服务成功 $ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE tomcat-svc NodePort 10.98.46.27 <none> 80:30001/TCP 22m ~~~ 可以先试着访问一下: ~~~bash $ curl 10.192.0.2:30001 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Apache Tomcat/8.5.47</title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link href="tomcat.css" rel="stylesheet" type="text/css" /> </head> ... ~~~ 接下来我们安装并配置 nginx 作为负载均衡器进行模拟,帮助大家更好的理解。 环境中已经安装 nginx,查看版本信息: ~~~bash $ nginx -v nginx version: nginx/1.10.3 (Ubuntu) ~~~ 编辑 nginx 配置文件,使用命令`sudo vim /etc/nginx/nginx.conf`,向文件中添加如下内容: ~~~text http { ... # 添加 k8s 集群所有可用的 nodeIP:nodePort upstream k8snode { server 10.192.0.2:30001; server 10.192.0.3:30001; server 10.192.0.4:30001; } # 设置虚拟主机 server { # 监听 81 端口 listen 81; location / { # 反向代理指令,将所有的请求都发送给 k8snode 机器组中的机器 proxy_pass http://k8snode; } } } ~~~ 保存配置文件,检查配置文件是否有误: ~~~bash $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 配置无误,使配置文件生效: ~~~bash sudo nginx -s reload ~~~ 现在直接通过桌面上的 firefox 浏览器访问地址`http://localhost:81`: ![图片描述](https://doc.shiyanlou.com/courses/uid600404-20191112-1573552742788) 可以看到已经能够成功访问页面了。