diff --git a/ingress-nginx.tgz b/ingress-nginx.tgz new file mode 100644 index 0000000..d78cb63 Binary files /dev/null and b/ingress-nginx.tgz differ diff --git a/install.yaml b/install.yaml index 54c002d..93e9db0 100644 --- a/install.yaml +++ b/install.yaml @@ -16,17 +16,17 @@ spec: spec: serviceAccountName: dev containers: - - name: k8s-manager-pod - image: docker.educg.net/k8s/manager:dev - ports: - - containerPort: 8080 - env: - - name: DB_HOST - value: 192.168.131.191 - - name: DB_USER - value: app - - name: DB_PASS - value: 1PQlNf9*9Ulo + - name: k8s-manager-pod + image: docker.educg.net/cg/k8s-manager:v1.0.1 + ports: + - containerPort: 8080 + env: + - name: DB_HOST + value: 192.168.131.195 + - name: DB_USER + value: app + - name: DB_PASS + value: ??????? --- apiVersion: v1 kind: Service @@ -37,9 +37,28 @@ metadata: spec: type: NodePort ports: - - port: 80 - targetPort: 8080 + - port: 8000 + targetPort: 8000 protocol: TCP nodePort: 30001 selector: - app: k8s-manager \ No newline at end of file + app: k8s-manager +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: manager-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: /admin(/|$)(.*) + pathType: Prefix + backend: + service: + name: k8s-manager-service + port: + number: 8000 \ No newline at end of file diff --git a/main.go b/main.go index 6d3187e..e157d17 100644 --- a/main.go +++ b/main.go @@ -65,6 +65,6 @@ func Test(c *gin.Context) { c.SetCookie("Authorization", "Bearer "+token, 0, "", "", false, false) c.Header("Authorization", "Bearer "+token) c.Header("Cache-Control", "no-store") - c.Redirect(http.StatusTemporaryRedirect, "/index") + c.Redirect(http.StatusTemporaryRedirect, "../index") } } diff --git a/src/k8s_client.go b/src/k8s_client.go index 6c772b7..eea2897 100644 --- a/src/k8s_client.go +++ b/src/k8s_client.go @@ -95,10 +95,13 @@ func (c *K8sClient) UpdateDeployment(app *AppModel) { }, Spec: v1.PodSpec{ Containers: []v1.Container{{ - Name: app.ContainerName(), - Image: app.Image, - Command: app.GetCommandOrBlack(), - Env: app.GetEnv(), + Name: app.ContainerName(), + Image: app.Image, + Command: app.GetCommandOrBlack(), + Env: append(app.GetEnv(), v1.EnvVar{ + Name: "URL_PREFIX", + Value: app.ServiceName(), + }), VolumeMounts: nil, Ports: []v1.ContainerPort{ {ContainerPort: 80}, @@ -273,26 +276,26 @@ func (c *K8sClient) UpdateIngress(a *AppModel) { return } pt := netv1.PathTypePrefix - //nginx := "nginx" k, v := a.GetLabel() label := map[string]string{k: v} ingress := &netv1.Ingress{ ObjectMeta: metav1.ObjectMeta{ - Name: a.IngressName(), - Labels: label, + Name: a.IngressName(), + Labels: label, Annotations: map[string]string{ + "nginx.ingress.kubernetes.io/rewrite-target": "/$2", //"traefik.ingress.kubernetes.io/router.middlewares": "default-strip-prefix-1@kubernetescrd", }, }, Spec: netv1.IngressSpec{ + IngressClassName: UnnamedPointer("nginx"), Rules: []netv1.IngressRule{ { - //Host: a.ServiceName(), IngressRuleValue: netv1.IngressRuleValue{ HTTP: &netv1.HTTPIngressRuleValue{ Paths: []netv1.HTTPIngressPath{ { - Path: "/" + a.ServiceName(), + Path: "/" + a.ServiceName() + "(/|$)(.*)", PathType: &pt, Backend: netv1.IngressBackend{ Service: &netv1.IngressServiceBackend{ @@ -308,7 +311,6 @@ func (c *K8sClient) UpdateIngress(a *AppModel) { }, }, }, - //IngressClassName: &nginx, }, } var err error