自架 Whoogle: whoogle.iter.tw

作者:   發佈於:  

看到 gslin 長輩自架了 whoogle 服務 來讓大家用,就稍微跟風研究了一下​。發現 whoole 作者有提供 docker image 到公開的 docker registry 上。又,這軟體本身就是個 proxy​,不必維護任何狀態,是個十分適合用 kubernetes 來執行的軟體。

於是我也自架了一個 whoogle 服務給大家玩玩: https://whoogle.iter.tw/

這服務的 uptime 不保證、access log 不留存。玩膩了就會消失。不另公告。

與 gslin 的不同​,我的這伺服器架構並不是放在 gslin 的客廳伺服器上跑,而是在 linode 上的便宜小 kubernetes cluster​​,機器規格顯然是比 gslin 的客廳伺服器差的,或許,偶爾會自主放飛也說不定。另外,由於機房是選在日本的,所以在搜尋結果中會出現較多日文網頁。或許可以拿來比較比較。

在部署這服務時用上的宣言如下,共有 Service、Deployment、Ingress 三段。算是給自己留個記錄。

apiVersion: v1
kind: Service
metadata:
  name: whoogle-service
spec:
  selector:
    app: whoogle
  ports:
    - protocol: TCP
      port: 80
      targetPort: 5000
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoogle-deployment
  labels:
    app: whoogle
spec:
  replicas: 1
  selector:
    matchLabels:
      app: whoogle
  template:
    metadata:
      labels:
        app: whoogle
    spec:
      containers:
        - name: whoogle
          image: benbusby/whoogle-search:latest
          ports:
            - containerPort: 5000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: iter-tw-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - whoogle.iter.tw
    secretName: tls-iter-tw
  rules:
  - host: whoogle.iter.tw
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: whoogle-service
            port:
              number: 80