k3s 快速入门 - traefix 使用 - 1

K3s快速搭建入门

k3s Traekfix v2版本开启dashboard并进行项目的部署及使用

1、什么是traefix?

官网介绍:Træfɪk 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。
Traefix是k3s里面的Ingress Controller。支持负载均衡和反向代理,类似于ngnix。

2、在k3s中开启traefix dashboard

k3s安装启动的时候,默认使用traefix为Ingress Controller,Traefik ingress controller 将使用主机上的 80 和 443 端口(即这些端口不能用于 HostPort 或 NodePort)。traekfix有一个可视化界面,可以通过dashboard查看路由信息等。开启可视化界面有两种方式,一种是通过port-forward;一种是添加ingress,通过域名访问。

2.1、通过port-forward方式访问dashboard

kubectl -n kube-system port-forward $(kubectl -n kube-system get pods --selector "app.kubernetes.io/name=traefik" --output=name) 9000:9000

端口转发开启后,可以通过http://127.0.0.1:9000/dashboard来访问可视化界面:

2.2、通过自定义IngressRoute CRD

# dashboard.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`traefik.example`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

执行命令kubectl apply -f dashboard.yaml
部署成功后,可通过http://traefik.example/dashboard/ 访问 Dashboard:
在这里插入图片描述

3、部署docker-demo应用

minikube 实战篇 - 镜像打包部署 - 2中有关于部署docker-demo的脚本,执行:

kubectl create deployment docker-demo --image=halo26812/docker-demo:0.0.1
kubectl expose deployment docker-demo --type=ClusterIP --port=8080

--type=NodePort修改成--type=ClusterIP,部署的服务是通过ingress提供给外部访问。

type描述
ClusterIP只对集群内部可见,外部无法访问
NodePort对外部可见

执行如下:

[root@localhost halo]# kubectl create deployment docker-demo --image=halo26812/docker-demo:0.0.1
deployment.apps/docker-demo created
[root@localhost halo]# kubectl expose deployment docker-demo --type=ClusterIP --port=8080
service/docker-demo exposed

执行成功。现在需要通过自定义IngressRoute,开放docker-demo服务,定义IngressRoute文件docker-demo-ingressRoute.yaml,如下:

#docker-demo-ingressRoute.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: docker-demo-ingress
  namespace: default
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`docker.halo.io`) && PathPrefix(`/hello`)
      kind: Rule
      services:
        - name: docker-demo
          port: 8080

以下是相关配置参数的一些说明:

参数描述
match是匹配host地址“docker.halo.io”及访问路径前缀匹配“hello”
services.name是应用名:docker-demo
services.port是服务端口:8080

执行docker-demo-ingressRoute.yaml文件

halo at MacBook-Pro-3 in ~/minikube/k3s
○ kubectl apply -f docker-demo-ingressRoute.yaml                                                             
ingressroute.traefik.containo.us/docker-demo-ingress created

执行成功之后在host文件中配置。

192.168.2.42 docker.halo.io

配置完成之后,在浏览器端访问http://docker.halo.io/hello。如图:
在这里插入图片描述
浏览器界面显示“hello world!”。访问成功!

### 关于PowerApps的入门培训资料 为了顺利开启PowerApps的学习旅程,确保已安装必要的工具,比如Visual Studio Code(推荐用于编辑Power Apps源码),并获得访问Microsoft Power Platform环境的权利[^1]。 #### 创建和配置开发环境 注册或登录至Microsoft 365账户,确认账号具有访问Power Platform服务的权限。进入Power Platform Admin Center准备创建或挑选一个适合开发用途的新环境。接着,在Power Apps Maker Portal上部署开发者所需的工具集;如果当前没有现成的应用或工作流,则可以通过点击“新建”按钮着手设计首个应用程序或自动化流程。 #### 利用官方文档与社区资源深化理解 除了上述基础设置外,微软官方提供了详尽的帮助文档、视频指南和技术博客文章,这些都是不可多得的学习材料。积极参与官方论坛交流讨论也能加速解决问题的速度,促进技能成长。此外,参与由专家主持的工作坊或是线上直播讲座同样有助于拓宽视野,紧跟最新发展趋势[^2]。 #### 实践操作巩固理论知识 实践证明,“做中学”的方式特别适用于编程领域内的新知获取。尝试模仿真实场景下的案例研究,按照教程一步步实现具体的功能模块,并在此基础上大胆创新改进。即使遇到困难也不要轻易放弃,反复练习直至熟练掌握为止[^3]。 ```python # 示例Python代码片段展示如何连接到PowerPlatform API (假设情景) import requests def connect_to_powerplatform(api_url, headers): response = requests.get(api_url, headers=headers) if response.status_code == 200: print("成功连接到了PowerPlatform") else: print(f"未能建立连接,状态码:{response.status_code}") connect_to_powerplatform('https://api.powerplatform.com', {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值