K8S 之 服务暴露Ingress Traefik 安装
发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,一、POD服务暴露Ingress Traefik的理解二、Ingress 数据流向三、Ingress Traefik安装在运维主机上运行[root@test-operator traefik]# cd
千家信息网最后更新 2024年09月28日K8S 之 服务暴露Ingress Traefik 安装
一、POD服务暴露Ingress Traefik的理解
二、Ingress 数据流向
三、Ingress Traefik安装
在运维主机上运行
[root@test-operator traefik]# cd /data/k8s-yaml/k8s-yaml]# mkdir traefikk8s-yaml]# cd traefik/traefik]# docker pull traefik:v1.7.2-alpinetraefik]# docker images|grep traefiktraefik]# docker tag add5fac61ae5 traefik]# harbor.od.com/public/traefik:v1.7.2traefik]# docker push test-harbor.cedarhd.com/public/traefik:v1.7.2#创建四个资源配置清单traefik]# vi rbac.yamlapiVersion: v1kind: ServiceAccountmetadata: name: traefik-ingress-controller namespace: kube-system---apiVersion: rbac.authorization.k8s.io/v1beta1kind: ClusterRolemetadata: name: traefik-ingress-controllerrules: - apiGroups: - "" resources: - services - endpoints - secrets verbs: - get - list - watch - apiGroups: - extensions resources: - ingresses verbs: - get - list - watch---kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: traefik-ingress-controllerroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: traefik-ingress-controllersubjects:- kind: ServiceAccount name: traefik-ingress-controller namespace: kube-system------------------------------------------------------------------------------------------traefik]# vi ds.yamlapiVersion: extensions/v1beta1kind: DaemonSetmetadata: name: traefik-ingress namespace: kube-system labels: k8s-app: traefik-ingressspec: template: metadata: labels: k8s-app: traefik-ingress name: traefik-ingress spec: serviceAccountName: traefik-ingress-controller terminationGracePeriodSeconds: 60 containers: - image: test-harbor.cedarhd.com/public/traefik:v1.7.2 name: traefik-ingress ports: - name: controller containerPort: 80 hostPort: 81 - name: admin-web containerPort: 8080 securityContext: capabilities: drop: - ALL add: - NET_BIND_SERVICE args: - --api - --kubernetes - --logLevel=INFO - --insecureskipverify=true - --kubernetes.endpoint=https://10.3.153.240:7443 - --accesslog - --accesslog.filepath=/var/log/traefik_access.log - --traefiklog - --traefiklog.filepath=/var/log/traefik.log - --metrics.prometheus------------------------------------------------------------------------------------------traefik]# vi svc.yamlkind: ServiceapiVersion: v1metadata: name: traefik-ingress-service namespace: kube-systemspec: selector: k8s-app: traefik-ingress ports: - protocol: TCP port: 80 name: controller - protocol: TCP port: 8080 name: admin-web------------------------------------------------------------------------------------------traefik]# vi ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata: name: traefik-web-ui namespace: kube-system annotations: kubernetes.io/ingress.class: traefikspec: rules: - host: test-traefik.cedarhd.com http: paths: - path: / backend: serviceName: traefik-ingress-service servicePort: 8080
在任意运算节点主机上运行
[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/traefik/rbac.yamlserviceaccount/traefik-ingress-controller createdclusterrole.rbac.authorization.k8s.io/traefik-ingress-controller createdclusterrolebinding.rbac.authorization.k8s.io/traefik-ingress-controller created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/traefik/ds.yamldaemonset.extensions/traefik-ingress created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/traefik/svc.yamlservice/traefik-ingress-service created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/traefik/ingress.yamlingress.extensions/traefik-web-ui created[root@test-nodes1 ~]# systemctl restart docker.service #重启两台运算节点的docker[root@test-nodes2 ~]# kubectl get pods -n kube-system #检查运行情况NAME READY STATUS RESTARTS AGEcoredns-6c69fbcc6c-6vqgr 1/1 Running 0 18htraefik-ingress-44ptk 1/1 Running 0 22mtraefik-ingress-vrvr4 1/1 Running 0 22m
四、分别在master/standby proxy做域名解释跳转
[root@test-master ~]# vi /etc/nginx/conf.d/cedarhd.com.confupstream default_backend_traefik { server 10.3.153.221:81 max_fails=3 fail_timeout=10s; server 10.3.153.222:81 max_fails=3 fail_timeout=10s;}server { server_name *.cedarhd.com; location / { proxy_pass http://default_backend_traefik; proxy_set_header Host $http_host; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; }}[root@test-master ~]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@test-master ~]# nginx -s reload#备注,在DNS主机上把test-traefik.cedarhd.com的域名解释到VIP地址(10.3.153.240)上。
主机
运行
域名
节点
解释
运算
服务
地址
备注
情况
数据
清单
资源
资源配置
建四
检查
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
db2数据库增量恢复
怎样优化sql数据库索引
教育软件开发属于什么应税
获取云服务器失败是什么原因
数据库表结构图片
网络安全的靶场是什么
社会面临的网络安全威胁
大学生疫情网络安全教育
护苗网络安全手抄报内容
长春飞腾服务器怎么选择
通用数据库和工程数据库
大话2 克火服务器
百度360网络安全大会
QQ名片赞服务器搭建
北信源真正网络安全龙头
重庆信创云服务器
星辰网络安全
小学生网络安全法教育简报
防火墙云服务器
如何给老板推荐服务器
男生转行软件开发好吗
服务器小游戏插件
许阳 联通网络技术研究院
如何解除网络安全密码
泛微数据库
wind资讯软件开发
缅甸语字体数据库
能源网络技术
学习网络安全与执法怎么样
深圳康吸网络技术有限责任公司