kubernetes-dashboard安裝(2)

安裝ingress-controller

  1. 部署在k8s中的服務(wù)默認只能在集群內(nèi)部方法,如果需要集群外部訪問可以通過:NodePort爆袍、LoadBalance和Ingress進行處理

    nginx-ingress
  2. 工作流程:

    1. The Ingress controller can then automatically program a frontend load balancer to enable Ingress configuration.
    2. Users who need to provide external access to their Kubernetes services create an Ingress resource that defines rules, including the URI path, backing service name, and other information
  3. 原理:ingress在向ingress-controller注冊的時候泣港,會將服務(wù)信息注冊到ingress-controller的nginx的配置中

    1. ingress-controller:實質(zhì)就是一個方向代理沼本,不同的實現(xiàn)對ingress的配置規(guī)則不一樣
    2. ingress:實質(zhì)就是定義代理的規(guī)則捎废,如何進行跳轉(zhuǎn)
  4. 下載deployment

     curl -O https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
    
  5. 修改鏡像和deployment的容器參數(shù)舒萎,并對Role中設(shè)置configmaps的添加update權(quán)限

      containers:
     - name: nginx-ingress-controller
       image: wistiaanders/nginx-ingress-controller:0.25.1
       args:
         - /nginx-ingress-controller
         - --configmap=$(POD_NAMESPACE)/nginx-configuration
         - --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
         - --udp-services-configmap=$(POD_NAMESPACE)/udp-services
         - --publish-service=$(POD_NAMESPACE)/ingress-nginx
         - --annotations-prefix=nginx.ingress.kubernetes.io
         - --ingress-class=k8s-nginx-ingress # 設(shè)置唯一表示曹洽,用于ingress resource的注冊
         - --enable-ssl-passthrough          # 使用https時如果證書部署在server端這必須在啟動參數(shù)設(shè)置--enable-ssl-passthrough
    
  6. 安裝deployment

     kubectl apply -f mandatory.yaml
    
  7. 下載和部署service

     curl -O https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
     # 安裝
     kubectl apply -f cloud-generic.yaml
    

部署dashboard

kubernetes-dashboard必須通過https協(xié)議進行訪問,所以先生成證書辽剧。

  1. 創(chuàng)建目錄

     mkdir dashboard
    
  2. 生成密鑰

     mkdir certs
     cd certs
     openssl genrsa -des3 -passout pass:x -out tls.pass.key 2048
     ...
     openssl rsa -passin pass:x -in tls.pass.key -out tls.key
     # Writing RSA key
     rm tls.pass.key
     openssl req -new -key tls.key -out tls.csr
     # 密碼留空送淆,提示設(shè)置域名填寫  dashboard.tlh.com 也可以自行修改,其他信息更具自己的需求填寫
    
     # 生成證書
     openssl x509 -req -sha256 -days 365 -in tls.csr -signkey tls.key -out tls.crt
     # 將生成的tls.crt證書安裝到瀏覽器
    
  3. 創(chuàng)建namespace和secrets

     # 創(chuàng)建namespace
     kubectl create namespace kubernetes-dashboard
     # 創(chuàng)建secrets怕轿,from-file為上面生成的密鑰文件的路徑
     kubectl create secret generic kubernetes-dashboard-certs --from-file=certs -n kubernetes-dashboard
     # 查看密鑰
     kubectl describe secret kubernetes-dashboard-certs -n kubernetes-dashboard
    
  4. 下載dashboard的部署文件

     curl -O https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
    
  5. 修改部署文件,設(shè)置啟動參數(shù)配置密鑰文件

      containers:
     - name: kubernetes-dashboard
       image: kubernetesui/dashboard:v2.0.0-beta4
       imagePullPolicy: Always
       ports:
         - containerPort: 8443
           protocol: TCP
       args:
         - --namespace=kubernetes-dashboard
         - --tls-key-file=tls.key    # 配置密鑰文件
         - --tls-cert-file=tls.crt
    
  6. 應(yīng)用部署

     kubectl apply -f recommended.yaml
    
  7. 創(chuàng)建ingress

    1. 編寫ingress文件

       apiVersion: networking.k8s.io/v1beta1
       kind: Ingress
       metadata:
         labels:
           k8s-app: kubernetes-dashboard
         annotations:
           kubernetes.io/ingress.class: "k8s-nginx-ingress" # 選擇指定的ingress-controller
           nginx.ingress.kubernetes.io/ssl-redirect: "true" # 強制重定向到https
           nginx.ingress.kubernetes.io/ssl-passthrough: "true" # 配置不在nginx進行https的解密,強制轉(zhuǎn)發(fā)到server端進行處理质涛,需要在ingress-controller的deployment啟動參數(shù)添加enable-ssl-passthrough才生效
         name: kubernetes-dashboard
         namespace: kubernetes-dashboard
       spec:
         rules:
         - host: dashboard.tlh.com     # 為在創(chuàng)建自簽名密鑰時填寫的域名
           http:
             paths:
             - path: /
               backend:
                 servicePort: 443
                 serviceName: kubernetes-dashboard
         tls:
         - hosts:
           - dashboard.tlh.com
           secretName: kubernetes-dashboard-certs
      
    2. 應(yīng)用

       kubectl apply -f ingress.yaml
      
  8. 查看ingress信息皱蹦,將metallb分配的IP地址到本機的hosts文件中

     # 查看分配的IP地址
     kubectl describe ingress -n kubernetes-dashboard
     # 配置到宿主機的hosts文件
     查詢到的IP  dashboard.tlh.com
    
  9. 通過瀏覽器訪問

     https://dashboard.tlh.com
    
  10. 創(chuàng)建admin用戶

    1. 創(chuàng)建dashboard-adminuser.yaml文件

       apiVersion: v1
       kind: ServiceAccount
       metadata:
         name: admin-user
         namespace: kubernetes-dashboard
       ---
       apiVersion: rbac.authorization.k8s.io/v1
       kind: ClusterRoleBinding
       metadata:
         name: admin-user
       roleRef:
         apiGroup: rbac.authorization.k8s.io
         kind: ClusterRole
         name: cluster-admin
       subjects:
       - kind: ServiceAccount
         name: admin-user
         namespace: kubernetes-dashboard
      
    2. 創(chuàng)建用戶

       kubectl apply -f dashboard-adminuser.yaml
      
  11. 獲取登陸的token

    kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市诀紊,隨后出現(xiàn)的幾起案子谒出,更是在濱河造成了極大的恐慌,老刑警劉巖邻奠,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笤喳,死亡現(xiàn)場離奇詭異,居然都是意外死亡碌宴,警方通過查閱死者的電腦和手機杀狡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贰镣,“玉大人呜象,你說我怎么就攤上這事膳凝。” “怎么了恭陡?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵蹬音,是天一觀的道長。 經(jīng)常有香客問我子姜,道長祟绊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任哥捕,我火速辦了婚禮牧抽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遥赚。我一直安慰自己扬舒,他們只是感情好,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布凫佛。 她就那樣靜靜地躺著讲坎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愧薛。 梳的紋絲不亂的頭發(fā)上晨炕,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天,我揣著相機與錄音毫炉,去河邊找鬼瓮栗。 笑死,一個胖子當著我的面吹牛瞄勾,可吹牛的內(nèi)容都是我干的费奸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼进陡,長吁一口氣:“原來是場噩夢啊……” “哼愿阐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起趾疚,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缨历,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后盗蟆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戈二,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年喳资,在試婚紗的時候發(fā)現(xiàn)自己被綠了觉吭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡仆邓,死狀恐怖鲜滩,靈堂內(nèi)的尸體忽然破棺而出伴鳖,到底是詐尸還是另有隱情,我是刑警寧澤徙硅,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布榜聂,位于F島的核電站,受9級特大地震影響嗓蘑,放射性物質(zhì)發(fā)生泄漏须肆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一桩皿、第九天 我趴在偏房一處隱蔽的房頂上張望豌汇。 院中可真熱鬧,春花似錦泄隔、人聲如沸拒贱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逻澳。三九已至,卻和暖如春暖呕,著一層夾襖步出監(jiān)牢的瞬間斜做,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工湾揽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留陨享,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓钝腺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赞厕。 傳聞我的和親對象是個殘疾皇子艳狐,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355