使用Helm在VKE中部署nginx-ingress

前言

本文档介绍如何使用Helm在VKE群集中安装nginx-ingrss控制器并通过ingress代理tomcat服务。

关于实验
  • 预计部署时间:30分钟
  • 级别:初级
  • 相关产品:VKE
  • 受众: 通用
实验说明

如果还没有火山引擎账号,点击此链接注册账号 如果还没有VKE集群,参考此链接快速创建一个VKE

第一步、环境说明
  • kubernetes版本:v1.20.6
  • helm版本:v3.7.1
  • nginx ingress chart版本:0.11.3
第二步 、部署Helm

如未安装helm命令,请参考helm官网 通过helm version确定是否安装成功 alt

第三步、部署nginx ingress
  1. 增加ingress helm仓库 使用helm repo add nginx-stable https://helm.nginx.com/stable添加 alt
  2. 更新仓库 使用helm repo update更新 alt
  3. 查看nginx ingress版本信息 使用helm search repo nginx-stable/nginx-ingress -l查看 alt
  4. 安装ingress 使用helm install nginx-ingress nginx-stable/nginx-ingress -n default安装,这里安装的是最近版本,如需安装指定版本添加参数--version即可 alt
第四步、验证是否部署成功
  1. 查看helm chart状态 使用helm list -n default查看 alt
  2. 查看nginx-ingress pod状态 使用kubectl get pod -n default|grep ingress查看 alt
  3. 查看nginx-ingress deployment 状态 使用kubectl get deployment -n default|grep ingress查看 alt
  4. 查看nginx-ingress service状态 使用kubectl get service -n default|grep ingress查看 alt
第五步、部署tomcat验证nginx-ingress
  1. deployment yaml文件
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test-tomcat
    spec:
      selector:
       matchLabels:  
            app: test-tomcat
      replicas: 1
      template:
        metadata:
          labels:
            app: test-tomcat
        spec:
          containers:
          - name: my-tomcat
            image: tomcat
            ports:
            - containerPort: 8080
    
  2. 部署tomcat deployment 使用命令kubectl apply -f tomcat-deployment.yaml alt
  3. 查看tomcat deployment状态 使用kubectl get deployment -n default | grep tomcat命令查看 alt
  4. 查看tomcat pod状态 使用kubectl get pod -n default | grep tomcat命令查看 alt
  5. 编写测试页面 创建ROOT目录 kubectl exec -it -n default -- bash -c 'mkdir webapps/ROOT' alt 创建index.html文件,并添加内容 kubectl exec -it -n default -- bash -c 'echo "Hello Tomcat" > webapps/ROOT/index.html' alt 查看测试页面是否创建成功 kubectl exec -it -n default -- bash -c 'cat webapps/ROOT/index.html' alt
  6. service yaml文件
    apiVersion: v1
    kind: Service
    metadata:
      name: svc-tomcat
    spec:
       type: ClusterIP
       ports:
         - name: svc-port-tomcat 
           port: 80
           targetPort: 8080
       selector:
         app: test-tomcat
    
  7. 部署service 使用命令kubectl apply -f tomcat-service.yaml部署 alt
  8. 查看service状态 使用kubectl get service -n default | grep tomcat命令查看 alt
  9. ingress yaml文件
    apiVersion: networking.k8s.io/v1
    kind: Ingress 
    metadata:            
      name: ingress-tomcat   
      namespace: default   
      annotations:        
        kubernetes.io/ingress.class: "nginx"
    spec:     
      rules:  
      - host: xxx.xxx.com 
        http:
          paths:       
          - pathType: Prefix
            path: "/"     
            backend: 
              service: 
                name: svc-tomcat
                port: 
                  number: 80
    
  10. 部署ingress 使用kubectl apply -f tomcat-ingress.yaml命令部署 alt
  11. 查看ingress 使用命令kubectl get ingress -n default alt
  12. 验证 访问域名,ingress中配置的域名 说明:如无DNS解析,修改本地hosts文件,添加解析记录 alt
0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论