Skip to content

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

16720461157581

  • 安装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形式

16720473366401 可以看到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

应用,再看

16720475483617

访问:http://10.211.55.20:30887/dashboard/