1. 程式人生 > >kubernets ingress增加許可權HTTP-AUTH認證

kubernets ingress增加許可權HTTP-AUTH認證

當使用ingress的方式做Web服務的反向代理時,有時會需要增加對反向頁面的許可權認證(例如:反向代理到kibana頁面時),還好Kubernets非常強大,這麼簡單的特性當然也是支援的,主要依靠secret和註解方式來實現。

第一步,建立賬號密碼檔案

這裡需要使用到密碼檔案生成工具htpasswd,在ubuntu下可以使用以下命令進行安裝:

1 sudoapt-getinstallapache2-utils

隨後使用htpasswd命令建立密碼檔案auth,以及兩個使用者user1和user2:

12345678910111213 $htpasswd-cauthuser1Newpassword:<bar>New password:Re-type new password:Adding password for user user1$ htpasswd auth user22nd user:htpasswd auth user2New password: <bar>Newpassword:Re-typenewpassword:Addingpasswordforuseruser2

第二步,建立kubernets secret

12 kubectl-n<namespace>createsecretgenericbasic-auth--from-file=authsecret"basic-auth"created

第三步,建立ingress配置檔案

123456789101112131415161718192021 # ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:name: ingress-with-authannotations:# type of authenticationingress.kubernetes.io/auth-type: basic# name of the secret that contains the user/password definitionsingress.kubernetes.io/auth-secret: basic-auth# message to display with an appropiate context why the authentication is requiredingress.kubernetes.io/auth-realm: "Authentication Required - foo"spec:rules:- host: foo.bar.comhttp:paths:- path: /backend:serviceName: echoheadersservicePort: 80

參考連結: