![](/img/trans.png)
[英]Need a Kubernetes 1.2 Ingress bare metal controller with SSL tutorial
[英]How to set up https on kubernetes bare metal using traefik ingress controller
我正在運行一個由三個節點組成的kubernetes集群,並且運行良好,但是現在是時候確保我的Web應用程序安全了,所以我部署了一個入口控制器(traefik)。 但是我找不到在其上設置https的說明。 我知道我將要做的大多數事情,例如設置“秘密”(帶有證書的容器)等,但是我想知道如何配置我的入口控制器和與其相關的所有文件,以便能夠使用安全連接
我已經配置了入口控制器並創建了一些前端和后端。 我還配置了nginx服務器(實際上是我正在運行的Web應用程序)以在443端口上工作
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: nginx
replicas: 3 # tells deployment to run 3 pods matching the template
template: # create pods using pod definition in this template
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: ilchub/my-nginx
ports:
- containerPort: 443
tolerations:
- key: "primary"
operator: Equal
value: "true"
effect: "NoSchedule"
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: traefik-ingress
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress
terminationGracePeriodSeconds: 60
containers:
- image: traefik
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
- name: https
containerPort: secure
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traefik-web-ui
namespace: kube-system
spec:
rules:
- host: cluster.aws.ctrlok.dev
http:
paths:
- path: /
backend:
serviceName: traefik-web-ui
servicePort: web
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
port: 80
nodePort: 30036
name: web
- protocol: TCP
port: 443
nodePort: 30035
name: secure
- protocol: TCP
port: 8080
nodePort: 30034
name: admin
type: NodePort
我要做的是保護已經運行的應用程序。 最終結果必須是在https上運行的網頁
實際上,您可以通過3種方式將Traefik配置為使用https與后端Pod通信:
如果存在任何一個配置選項,則假定后端通信協議為TLS,並將自動通過TLS連接。
另外,還應將其他身份驗證注釋添加到Ingress對象,例如:
ingress.kubernetes.io/auth-tls-secret: secret
當然, 向入口添加TLS證書
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.