Appearance
k8s运维(十一)部署域名项目
1.安装helm
$ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
$ helm version
version.BuildInfo{Version:"v3.10.3", GitCommit:"835b7334cfe2e5e27870ab3ed4135f136eecc704", GitTreeState:"clean", GoVersion:"go1.18.9"}
2.安装traefik
在traefik的官网
在这里使用的是v2.9版本
- 安装资源
$ kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
安装Services
traefik-service.yaml
apiVersion: v1 kind: Service metadata: name: traefik
spec: ports: - protocol: TCP name: web port: 8000 #是web的端口映射 - protocol: TCP name: admin port: 8080 - protocol: TCP name: websecure port: 4443 selector: app: traefik
部署Deployment
traefik-deploy.yaml
apiVersion: v1 kind: ServiceAccount metadata: namespace: default name: traefik-ingress-controller
kind: Deployment apiVersion: apps/v1 metadata: namespace: default name: traefik labels: app: traefik
spec: replicas: 1 selector: matchLabels: app: traefik template: metadata: labels: app: traefik spec: serviceAccountName: traefik-ingress-controller containers: - name: traefik image: traefik:v2.9 args: - --api.insecure - --accesslog - --entrypoints.web.Address=:8000 - --entrypoints.websecure.Address=:4443 - --providers.kubernetescrd - --certificatesresolvers.myresolver.acme.tlschallenge - --certificatesresolvers.myresolver.acme.email=2746665602@qq.com #改成自己的邮箱 - --certificatesresolvers.myresolver.acme.storage=acme.json - --certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory ports: - name: web containerPort: 8000 - name: websecure containerPort: 4443 - name: admin containerPort: 8080
3.开放dashboard
修改traefik的type形式
可以看到type是ClusterIP,改成NodePort
# traefik-service.yaml
apiVersion: v1
kind: Service
metadata:
name: traefik
spec:
type: NodePort #修改
ports:
- protocol: TCP
name: web
port: 8000
- protocol: TCP
name: admin
port: 8080
- protocol: TCP
name: websecure
port: 4443
selector:
app: traefik
应用,再看