traefik + cert-manager

安裝trefik-ingress

  • 創(chuàng)建安裝trefik rbac
cat >rbac.yml<<EOF
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
rules:
  - apiGroups:
      - ""
    resources:
      - services
      - endpoints
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
    resources:
      - ingresses
    verbs:
      - get
      - list
      - watch
  - apiGroups:
    - extensions
    resources:
    - ingresses/status
    verbs:
    - update
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: traefik-ingress-controller
subjects:
- kind: ServiceAccount
  name: traefik-ingress-controller
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
EOF
kubectl apply -f rbac.yml
  • 創(chuàng)建traefik配置
cat >traefik.toml<<EOF
defaultEntryPoints = ["http","https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
EOF
kubectl create -n kube-system configmap traefik-conf --from-file=traefik.toml
  • 安裝traefik
cat >traefik.yaml<<EOF

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  labels:
    k8s-app: traefik-ingress-lb
  name: traefik-ingress-controller
  namespace: kube-system
  annotations:
    kubernetes.io/ingress.class: traefik #關(guān)鍵參數(shù)
spec:
  selector:
    matchLabels:
      k8s-app: traefik-ingress-lb
      name: traefik-ingress-lb
  template:
    metadata:
      labels:
        k8s-app: traefik-ingress-lb
        name: traefik-ingress-lb
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: roles
                operator: In
                values:
                - master
                - etcd

      volumes:
      - name: config
        configMap:
          name: traefik-conf
      containers:
      - args:
        - --api
        - --kubernetes
        - --logLevel=DEBUG
        - --configfile=/config/traefik.toml
        image: traefik
        imagePullPolicy: Always
        name: traefik-ingress-lb
        ports:
        - containerPort: 80
          hostPort: 80
          name: http
          protocol: TCP
        - containerPort: 443
          hostPort: 443
          name: https
          protocol: TCP

        - containerPort: 8080
          hostPort: 8091
          name: admin
          protocol: TCP
        resources: {}
        volumeMounts:
        - mountPath: "/config"
          name: "config"
        securityContext:
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          procMount: Default
      restartPolicy: Always
      serviceAccount: traefik-ingress-controller
      serviceAccountName: traefik-ingress-controller
      terminationGracePeriodSeconds: 60
  templateGeneration: 1
  updateStrategy:
    type: OnDelete
EOF

安裝cert-manager

helm repo add jetstack https://charts.jetstack.io
kubectl apply \
    -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.7/deploy/manifests/00-crds.yaml
kubectl label namespace cert-manager certmanager.k8s.io/disable-validation="true"

helm install --name cert-manager --namespace  cert-manage jetstack/cert-manager --version v0.7.0

參考鏈接:https://hub.helm.sh/charts/jetstack/cert-manager/v0.7.0

創(chuàng)建traefik ingress

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik #關(guān)鍵參數(shù)
  name: kiali-ingress
  namespace: istio-system
spec:
  rules:
    - host: "kiali.xxx.com"
      http:
        paths:
          - path: /
            backend:
              serviceName: kiali
              servicePort: 20001
  tls:
    - hosts:
        - kiali.xxx.com
      secretName: kiali-cert

做DNS解析

創(chuàng)建clusterissuer

apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: shancang.chen@xxx.com
    privateKeySecretRef:
      name: letsencrypt-prod
    http01: {}

創(chuàng)建證書

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: kiali
  namespace: istio-system
spec:
  secretName: kiali-cert
  issuerRef:
    name: letsencrypt-prod
    kind: ClusterIssuer
  dnsNames:
  - kiali.xxx.com
  acme:
    config:
    - http01:
        ingressClass: traefik
      domains:
      - kiali.xxx.com
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祸挪,一起剝皮案震驚了整個濱河市侦啸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馋没,死亡現(xiàn)場離奇詭異秧耗,居然都是意外死亡枉长,警方通過查閱死者的電腦和手機(jī)位衩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門蚁署,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚂四,你說我怎么就攤上這事∧奶担” “怎么了遂赠?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長晌杰。 經(jīng)常有香客問我跷睦,道長,這世上最難降的妖魔是什么肋演? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任抑诸,我火速辦了婚禮,結(jié)果婚禮上爹殊,老公的妹妹穿的比我還像新娘蜕乡。我一直安慰自己,他們只是感情好梗夸,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布层玲。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辛块。 梳的紋絲不亂的頭發(fā)上畔派,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機(jī)與錄音润绵,去河邊找鬼线椰。 笑死,一個胖子當(dāng)著我的面吹牛尘盼,可吹牛的內(nèi)容都是我干的憨愉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悔叽,長吁一口氣:“原來是場噩夢啊……” “哼莱衩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娇澎,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤笨蚁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后趟庄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體括细,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年戚啥,在試婚紗的時候發(fā)現(xiàn)自己被綠了奋单。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡猫十,死狀恐怖览濒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拖云,我是刑警寧澤贷笛,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宙项,受9級特大地震影響乏苦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尤筐,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一汇荐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盆繁,春花似錦掀淘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咖为。三九已至,卻和暖如春稠腊,著一層夾襖步出監(jiān)牢的瞬間躁染,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工架忌, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留吞彤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓叹放,卻偏偏與公主長得像饰恕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子井仰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容