部署traefik并实现http和https访问

  

一、

1。rancherkubernetes-dashboardhttpstraefikhttps

2。牧场主HAcattle-systemtraefikcattle-systemtls

二,traefik

1。RBACservice账户

RBAC清单文件traefik-rbac。yaml如下:

- - - - - -   apiVersion: v1   :ServiceAccount   元数据:   名称:traefik-ingress-controller   名称空间:cattle-system   ---   :ClusterRole   apiVersion: rbac.authorization.k8s.io/v1   元数据:   名称:traefik-ingress-controller   规则:   - apiGroups:   ——“”   资源:   ——服务   ——端点   ——秘密   动词:   ——得到   ——列表   - - - - - -看   - apiGroups:   ——扩展   资源:   - - - - - -进入   动词:   ——得到   ——列表   - - - - - -看   ---   :ClusterRoleBinding   apiVersion: rbac.authorization.k8s.io/v1   元数据:   名称:traefik-ingress-controller   roleRef:   apiGroup: rbac.authorization.k8s.io   :ClusterRole   名称:traefik-ingress-controller   主题:   类型:ServiceAccount   名称:traefik-ingress-controller   名称空间:cattle-system

应用清单文件

[root@k8s-master03 traefik] # - f traefik-rbac.yaml kubectl适用   serviceaccount/traefik-ingress-controller创建   clusterrole.rbac.authorization.k8s。io/traefik-ingress-controller创建   clusterrolebinding.rbac.authorization.k8s。io/traefik-ingress-controller创建

2。DamonSettraefik

damonset清单文件traefik-ds。yaml如下:

- - - - - -   :ConfigMap   apiVersion: v1   元数据:   名称:traefik-conf   名称空间:cattle-system   数据:   traefik。toml: |   insecureSkipVerify=true   defaultEntryPoints=(“http”、“https”)   (entryPoints)   (entryPoints.http)   地址=":80 "   (entryPoints.https)   地址=":443 "   (entryPoints.https.tls)   [[entryPoints.https.tls.certificates]]   CertFile="/ssl/tls.crt "   密钥文件="/ssl/tls.key "   ---   :DaemonSet/v1beta1 apiVersion:扩展   元数据:   名称:traefik-ingress-controller   名称空间:cattle-system   标签:   k8s-app: traefik-ingress-lb   规范:   模板:   元数据:   标签:   k8s-app: traefik-ingress-lb   名称:traefik-ingress-lb   规范:   serviceAccountName: traefik-ingress-controller   terminationGracePeriodSeconds: 60   hostNetwork:真   卷:   ——名称:ssl   秘密:   secretName: tls-rancher-ingress   ——名称:配置   configMap:   名称:traefik-conf   容器:   ——图片:traefik   名称:traefik-ingress-lb   港口:   ——名称:http   containerPort: 80   hostPort: 80   ——名称:管理员   containerPort: 8080   securityContext:   特权:真   参数:   ————configfile=/config/traefik.toml   - - - - - - -   ————网络   ————kubernetes   volumeMounts:   ——mountPath:“/ssl”   名称:“ssl”   ——mountPath:“/配置”   名称:“配置”   ---   类型:服务   apiVersion: v1   元数据:   名称:traefik-ingress-service   名称空间:cattle-system   规范:   选择器:   k8s-app: traefik-ingress-lb   港口:   ——协议:TCP   端口:80   名称:网络   ——协议:TCP   端口:8080   名称:管理员   ——协议:TCP   端口:443   名称:https   #类型:NodePort

应用清单文件

[root@k8s-master03 traefik] # - f traefik-ds.yaml kubectl适用   configmap/traefik-conf创建   daemonset。扩展/traefik-ingress-controller创建   服务/traefik-ingress-service创建

3。traefik UI

入口清单文件traefik-ui。yaml如下:

apiVersion: v1   类型:服务   元数据:   名称:traefik-web-ui   名称空间:cattle-system   规范:   选择器:   k8s-app: traefik-ingress-lb   港口:   ——名称:网络   端口:80   发送:8080   ---/v1beta1 apiVersion:扩展   :入口   元数据:   名称:traefik-web-ui   名称空间:cattle-system   规范:   规则:   (主持人:traefik-ui.sumapay.com   http:   道路:   -路径:/后端:   名:traefik-web-ui   servicePort: web

应用清单文件

[root@k8s-master03 traefik] # - f traefik-ui.yaml kubectl适用   服务/traefik-web-ui创建   入口。扩展/traefik-web-ui创建

部署traefik并实现http和https访问