三,修改service/kubeapps 为NodePort端口模式,其实也可以不修改,直接使用ingress控制器,但,测试性质,过于麻烦。
k edit svc kubeapps -n kubeapps selector: app.kubernetes.io/component: frontend app.kubernetes.io/instance: kubeapps app.kubernetes.io/name: kubeapps sessionAffinity: None type: NodePort 最后一行ClusterIP 修改为NodePort 保存即可。
暴露的端口为31637,打开浏览器,任意的节点IP+31637即可进kubeapps
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubeapps NodePort 10.0.214.168 <none> 80:31637/TCP 25h
四,部署成功后的演示
登录后的界面是这样的,这个界面比较简洁,就两个模块,一个是应用程序---application,一个是目录catalog---这个相当于helm的应用商店,从部署kubeapps成功开始后,再使用helm安装的程序将会显示在application这个组件下了:
例如,在目录这个模块下,选择cms,将可以看到bitnami 这个官方仓库下的所有cms类型,比较熟悉的WordPress,ghost等等都可以看到。
就以安装WordPress为例,介绍一哈web界面急速安装cmd吧
设置要安装的WordPress的版本和要安装到哪个namespace以及哪个kubernetes集群内:
设置WordPress的账号密码以及资源限制等等信息
就这么简简单单的安装好了WordPress,看一下各种信息:
[root@k8s-master ~]# k get po,svc,cm,deploy,sts,ds,pvc -n web NAME READY STATUS RESTARTS AGE pod/mywordpress-57fc6bbb9-q86jp 2/2 Running 5 49m pod/mywordpress-mariadb-0 1/1 Running 0 49m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/mywordpress NodePort 10.0.58.85 <none> 80:31292/TCP,443:31469/TCP 49m service/mywordpress-mariadb ClusterIP 10.0.163.97 <none> 3306/TCP 49m service/mywordpress-metrics ClusterIP 10.0.131.36 <none> 9150/TCP 49m NAME DATA AGE configmap/mywordpress-mariadb 1 49m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/mywordpress 1/1 1 1 49m NAME READY AGE statefulset.apps/mywordpress-mariadb 1/1 49m NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/data-mywordpress-mariadb-0 Bound pvc-d373bb9c-3e7a-4593-9d07-328edb5717f0 8Gi RWO managed-nfs-storage 50m persistentvolumeclaim/mywordpress Bound pvc-8f78ab1c-5507-484d-8a6e-40894239184d 10Gi RWO managed-nfs-storage 50m
WordPress的后台页面:
kubeapps的应用展示界面,可以看到多了一个WordPress
要删除此应用也非常简单,一个按钮就搞定了:
总结:
kubeapps安装是比较简单的,看起来比较简单的原因是我这里只是测试,很多功能没有使用,比如ingress-controller插件没有启用。但一个默认的StorageClass存储类还是需要的,可以减少很多不必要的麻烦。如果是生产上使用这个kubeapps,那么,还是需要完善增加很多功能的哦。