Fix Rancher access: add kubectl port-forward + tailscale serve setup
This commit is contained in:
@@ -35,6 +35,18 @@
|
|||||||
unit_local_port: 19001
|
unit_local_port: 19001
|
||||||
unit_remote_port: 9001
|
unit_remote_port: 9001
|
||||||
|
|
||||||
|
- name: Create systemd unit for Rancher private access
|
||||||
|
template:
|
||||||
|
src: kubectl-port-forward.service.j2
|
||||||
|
dest: /etc/systemd/system/k8s-portforward-rancher.service
|
||||||
|
mode: "0644"
|
||||||
|
vars:
|
||||||
|
unit_description: Port-forward Rancher for Tailscale access
|
||||||
|
unit_namespace: cattle-system
|
||||||
|
unit_target: svc/rancher
|
||||||
|
unit_local_port: 19442
|
||||||
|
unit_remote_port: 80
|
||||||
|
|
||||||
- name: Reload systemd
|
- name: Reload systemd
|
||||||
systemd:
|
systemd:
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
@@ -48,11 +60,13 @@
|
|||||||
- k8s-portforward-grafana.service
|
- k8s-portforward-grafana.service
|
||||||
- k8s-portforward-prometheus.service
|
- k8s-portforward-prometheus.service
|
||||||
- k8s-portforward-flux-ui.service
|
- k8s-portforward-flux-ui.service
|
||||||
|
- k8s-portforward-rancher.service
|
||||||
|
|
||||||
- name: Configure Tailscale Serve for private access endpoints
|
- name: Configure Tailscale Serve for private access endpoints
|
||||||
shell: >-
|
shell: >-
|
||||||
tailscale serve reset &&
|
tailscale serve reset &&
|
||||||
tailscale serve --bg --tcp={{ private_access_grafana_port }} tcp://127.0.0.1:13080 &&
|
tailscale serve --bg --tcp={{ private_access_grafana_port }} tcp://127.0.0.1:13080 &&
|
||||||
tailscale serve --bg --tcp={{ private_access_prometheus_port }} tcp://127.0.0.1:19090 &&
|
tailscale serve --bg --tcp={{ private_access_prometheus_port }} tcp://127.0.0.1:19090 &&
|
||||||
tailscale serve --bg --tcp={{ private_access_flux_port }} tcp://127.0.0.1:19001
|
tailscale serve --bg --tcp={{ private_access_flux_port }} tcp://127.0.0.1:19001 &&
|
||||||
|
tailscale serve --bg --tcp={{ private_access_rancher_port }} tcp://127.0.0.1:19442
|
||||||
changed_when: true
|
changed_when: true
|
||||||
|
|||||||
@@ -116,6 +116,7 @@
|
|||||||
private_access_grafana_port: 30080
|
private_access_grafana_port: 30080
|
||||||
private_access_prometheus_port: 30990
|
private_access_prometheus_port: 30990
|
||||||
private_access_flux_port: 30901
|
private_access_flux_port: 30901
|
||||||
|
private_access_rancher_port: 9442
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- private-access
|
- private-access
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: rancher
|
|
||||||
namespace: cattle-system
|
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: rancher
|
|
||||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
||||||
cert-manager.io/cluster-issuer: "selfsigned-cluster-issuer"
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: k8s-cluster-cp-1.silverside-gopher.ts.net
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: rancher
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- k8s-cluster-cp-1.silverside-gopher.ts.net
|
|
||||||
secretName: rancher-tls
|
|
||||||
@@ -4,5 +4,5 @@ resources:
|
|||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- helmrepository-rancher.yaml
|
- helmrepository-rancher.yaml
|
||||||
- helmrelease-rancher.yaml
|
- helmrelease-rancher.yaml
|
||||||
- ingress-rancher.yaml
|
- service-rancher-tailscale.yaml
|
||||||
- rancher-bootstrap-password-externalsecret.yaml
|
- rancher-bootstrap-password-externalsecret.yaml
|
||||||
|
|||||||
18
infrastructure/addons/rancher/service-rancher-tailscale.yaml
Normal file
18
infrastructure/addons/rancher/service-rancher-tailscale.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: rancher-tailscale
|
||||||
|
namespace: cattle-system
|
||||||
|
annotations:
|
||||||
|
tailscale.com/hostname: k8s-cluster-cp-1-rancher
|
||||||
|
tailscale.com/proxy-class: infra-stable
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
loadBalancerClass: tailscale
|
||||||
|
selector:
|
||||||
|
app: rancher
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 80
|
||||||
@@ -2,4 +2,3 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- helmchartconfig-traefik.yaml
|
- helmchartconfig-traefik.yaml
|
||||||
- service-traefik-tailscale.yaml
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: traefik-tailscale
|
|
||||||
namespace: kube-system
|
|
||||||
annotations:
|
|
||||||
tailscale.com/hostname: k8s-cluster-cp-1
|
|
||||||
tailscale.com/proxy-class: infra-stable
|
|
||||||
spec:
|
|
||||||
type: LoadBalancer
|
|
||||||
loadBalancerClass: tailscale
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/instance: traefik-kube-system
|
|
||||||
app.kubernetes.io/name: traefik
|
|
||||||
ports:
|
|
||||||
- name: web
|
|
||||||
port: 80
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: web
|
|
||||||
- name: websecure
|
|
||||||
port: 443
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: websecure
|
|
||||||
- name: flux
|
|
||||||
port: 9001
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 9001
|
|
||||||
- name: rancher
|
|
||||||
port: 9442
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 9442
|
|
||||||
Reference in New Issue
Block a user