use nginx-ingress
This commit is contained in:
parent
6ed8e04596
commit
cdf15abc38
Binary file not shown.
45
install.yaml
45
install.yaml
|
|
@ -16,17 +16,17 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: dev
|
serviceAccountName: dev
|
||||||
containers:
|
containers:
|
||||||
- name: k8s-manager-pod
|
- name: k8s-manager-pod
|
||||||
image: docker.educg.net/k8s/manager:dev
|
image: docker.educg.net/cg/k8s-manager:v1.0.1
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
env:
|
env:
|
||||||
- name: DB_HOST
|
- name: DB_HOST
|
||||||
value: 192.168.131.191
|
value: 192.168.131.195
|
||||||
- name: DB_USER
|
- name: DB_USER
|
||||||
value: app
|
value: app
|
||||||
- name: DB_PASS
|
- name: DB_PASS
|
||||||
value: 1PQlNf9*9Ulo
|
value: ???????
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|
@ -37,9 +37,28 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: NodePort
|
type: NodePort
|
||||||
ports:
|
ports:
|
||||||
- port: 80
|
- port: 8000
|
||||||
targetPort: 8080
|
targetPort: 8000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
nodePort: 30001
|
nodePort: 30001
|
||||||
selector:
|
selector:
|
||||||
app: k8s-manager
|
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
|
||||||
2
main.go
2
main.go
|
|
@ -65,6 +65,6 @@ func Test(c *gin.Context) {
|
||||||
c.SetCookie("Authorization", "Bearer "+token, 0, "", "", false, false)
|
c.SetCookie("Authorization", "Bearer "+token, 0, "", "", false, false)
|
||||||
c.Header("Authorization", "Bearer "+token)
|
c.Header("Authorization", "Bearer "+token)
|
||||||
c.Header("Cache-Control", "no-store")
|
c.Header("Cache-Control", "no-store")
|
||||||
c.Redirect(http.StatusTemporaryRedirect, "/index")
|
c.Redirect(http.StatusTemporaryRedirect, "../index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,10 +95,13 @@ func (c *K8sClient) UpdateDeployment(app *AppModel) {
|
||||||
},
|
},
|
||||||
Spec: v1.PodSpec{
|
Spec: v1.PodSpec{
|
||||||
Containers: []v1.Container{{
|
Containers: []v1.Container{{
|
||||||
Name: app.ContainerName(),
|
Name: app.ContainerName(),
|
||||||
Image: app.Image,
|
Image: app.Image,
|
||||||
Command: app.GetCommandOrBlack(),
|
Command: app.GetCommandOrBlack(),
|
||||||
Env: app.GetEnv(),
|
Env: append(app.GetEnv(), v1.EnvVar{
|
||||||
|
Name: "URL_PREFIX",
|
||||||
|
Value: app.ServiceName(),
|
||||||
|
}),
|
||||||
VolumeMounts: nil,
|
VolumeMounts: nil,
|
||||||
Ports: []v1.ContainerPort{
|
Ports: []v1.ContainerPort{
|
||||||
{ContainerPort: 80},
|
{ContainerPort: 80},
|
||||||
|
|
@ -273,26 +276,26 @@ func (c *K8sClient) UpdateIngress(a *AppModel) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
pt := netv1.PathTypePrefix
|
pt := netv1.PathTypePrefix
|
||||||
//nginx := "nginx"
|
|
||||||
k, v := a.GetLabel()
|
k, v := a.GetLabel()
|
||||||
label := map[string]string{k: v}
|
label := map[string]string{k: v}
|
||||||
ingress := &netv1.Ingress{
|
ingress := &netv1.Ingress{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: a.IngressName(),
|
Name: a.IngressName(),
|
||||||
Labels: label,
|
Labels: label,
|
||||||
Annotations: map[string]string{
|
Annotations: map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/rewrite-target": "/$2",
|
||||||
//"traefik.ingress.kubernetes.io/router.middlewares": "default-strip-prefix-1@kubernetescrd",
|
//"traefik.ingress.kubernetes.io/router.middlewares": "default-strip-prefix-1@kubernetescrd",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: netv1.IngressSpec{
|
Spec: netv1.IngressSpec{
|
||||||
|
IngressClassName: UnnamedPointer("nginx"),
|
||||||
Rules: []netv1.IngressRule{
|
Rules: []netv1.IngressRule{
|
||||||
{
|
{
|
||||||
//Host: a.ServiceName(),
|
|
||||||
IngressRuleValue: netv1.IngressRuleValue{
|
IngressRuleValue: netv1.IngressRuleValue{
|
||||||
HTTP: &netv1.HTTPIngressRuleValue{
|
HTTP: &netv1.HTTPIngressRuleValue{
|
||||||
Paths: []netv1.HTTPIngressPath{
|
Paths: []netv1.HTTPIngressPath{
|
||||||
{
|
{
|
||||||
Path: "/" + a.ServiceName(),
|
Path: "/" + a.ServiceName() + "(/|$)(.*)",
|
||||||
PathType: &pt,
|
PathType: &pt,
|
||||||
Backend: netv1.IngressBackend{
|
Backend: netv1.IngressBackend{
|
||||||
Service: &netv1.IngressServiceBackend{
|
Service: &netv1.IngressServiceBackend{
|
||||||
|
|
@ -308,7 +311,6 @@ func (c *K8sClient) UpdateIngress(a *AppModel) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
//IngressClassName: &nginx,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
var err error
|
var err error
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue