kubernetes:部署kubeapps应用,为Helm提供web UI界面管理
kubernetes
- 部署kubeapps应用,为Helm提供web UI界面管理
部署kubeapps应用,为Helm提供web UI界面管理
[kubeadm@server2 ~]$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories
[kubeadm@server2 ~]$ helm repo list
NAME URL
stable http://mirror.azure.cn/kubernetes/charts/
mychart https://reg.westos.org/chartrepo/charts
bitnami https://charts.bitnami.com/bitnami
[kubeadm@server2 ~]$ helm search repo kubeapps
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/kubeapps 3.6.0 v1.10.0 Kubeapps is a dashboard for your Kubernetes clu...[kubeadm@server2 ~]$ helm pull bitnami/kubeapps --version 3.4.3 # 拉取3.4.3版本的bitnami/kubeapps[kubeadm@server2 ~]$ tar zxf kubeapps-3.4.3.tgz
[kubeadm@server2 ~]$ cd kubeapps/
[kubeadm@server2 kubeapps]$ ls
charts Chart.yaml crds README.md requirements.lock requirements.yaml templates values.schema.json values.yaml
[root@server1 ~]# docker load -i kubeapps-3.4.3.tar # 将所有镜像的打包文件上传
[root@server1 ~]# for i in `docker images|grep bitnami|awk '{printf("%s:%s\n",$1,$2)}'`;do docker tag $i reg.westos.org/$i;done # 修改镜像上传名称
[root@server1 ~]# for i in `docker images|grep reg.westos.org/bitnami|awk '{print $1":"$2}'`;do docker push $i;done # 上传镜像到私有仓库
for i in `docker images|grep reg.westos.org/bitnami|awk '{print $1":"$2}'`;do docker rmi $i;done # 删除镜像
for i in `docker images|grep bitnami|awk '{print $1":"$2}'`;do docker rmi $i;done # 删除镜像防止占用空间
[kubeadm@server2 kubeapps]$ vim values.yaml
global:imageRegistry: reg.westos.org # 改写为你的私有仓库
useHelm3: true # 支持helm
ingress:## Set to true to enable ingress record generation##enabled: truehostname: kubeapps.westos.org # 主机名initialRepos:- name: stableurl: http://mirror.azure.cn/kubernetes/charts/- name: bitnamiurl: https://charts.bitnami.com/bitnami[kubeadm@server2 kubeapps]$ kubectl create namespace kubeapps # 创建kubeapps的namespace
namespace/kubeapps created[kubeadm@server2 kubeapps]$ helm -n kubeapps install kubeapps . # 部署kubeapps
NAME: kubeapps
LAST DEPLOYED: Wed May 13 22:02:12 2020
NAMESPACE: kubeapps
STATUS: deployed
REVISION: 1
NOTES:
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps get pod
NAME READY STATUS RESTARTS AGE
apprepo-kubeapps-sync-bitnami-6pxhw-d9slb 0/1 CrashLoopBackOff 2 98s # 没有影响
apprepo-kubeapps-sync-stable-vnqz5-gpxtj 1/1 Running 0 98s
kubeapps-6688575df9-hkbvp 1/1 Running 0 4m
kubeapps-6688575df9-qg725 1/1 Running 0 4m
kubeapps-internal-apprepository-controller-8cdf54665-5wl99 1/1 Running 0 4m
kubeapps-internal-assetsvc-6b94785ffb-nbhc8 1/1 Running 1 3m58s
kubeapps-internal-assetsvc-6b94785ffb-x2bjq 1/1 Running 0 3m58s
kubeapps-internal-dashboard-6b65678647-kh5ck 1/1 Running 0 4m
kubeapps-internal-dashboard-6b65678647-mp5dk 1/1 Running 0 4m
kubeapps-internal-kubeops-59887fdbf8-cmqsk 1/1 Running 0 4m
kubeapps-internal-kubeops-59887fdbf8-zk7l9 1/1 Running 0 4m
kubeapps-mongodb-685d4c95d9-4mqww 1/1 Running 0 4m
[root@foundation60 kiosk]# cat /etc/hosts # 添加解析
172.25.60.4 www1.westos.org www2.westos.org www3.westos.org kubeapps.westos.org可以访问:
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps create serviceaccount kubeapps-operator # 重新创建一个sa
serviceaccount/kubeapps-operator created
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps get sa
NAME SECRETS AGE
default 1 11m
kubeapps-internal-apprepository-controller 1 10m
kubeapps-internal-kubeops 1 10m
kubeapps-operator 1 10s[kubeadm@server2 kubeapps]$ kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=kubeapps:kubeapps-operator # 绑定集群角色
clusterrolebinding.rbac.authorization.k8s.io/kubeapps-operator created[kubeadm@server2 kubeapps]$ kubectl -n kubeapps describe sa kubeapps-operator
Name: kubeapps-operator
Namespace: kubeapps
Labels: <none>
Annotations: <none>
Image pull secrets: <none>
Mountable secrets: kubeapps-operator-token-fqhgz
Tokens: kubeapps-operator-token-fqhgz
Events: <none>[kubeadm@server2 kubeapps]$ kubectl -n kubeapps describe secrets kubeapps-operator-token-fqhgz # 查看token内容
Name: kubeapps-operator-token-fqhgz
Namespace: kubeapps
Labels: <none>
Annotations: kubernetes.io/service-account.name: kubeapps-operatorkubernetes.io/service-account.uid: 4bd2e0dd-c40c-4da9-b744-147be7b9df19Type: kubernetes.io/service-account-tokenData
====
ca.crt: 1025 bytes
namespace: 8 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlNWeUFZZ2lGcXJlaGp3WERKMFdOX19McGttcm5QNW96bFMzenoxY0pVdEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlYXBwcyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlYXBwcy1vcGVyYXRvci10b2tlbi1mcWhneiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlYXBwcy1vcGVyYXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjRiZDJlMGRkLWM0MGMtNGRhOS1iNzQ0LTE0N2JlN2I5ZGYxOSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlYXBwczprdWJlYXBwcy1vcGVyYXRvciJ9.mTQ5h0PZqG9CjKiG0TPAbmPrTXsccoxtoThiQP-HP8i25BIxMke67hbBWEwy7L1cyi7ucLGRHyyiJzedMBGgRv_Db98KIOPmZMtsoJFvIjFy5Vitnd8PKg3SflkiLsdabGaw0L4bmRZbGRhjxlH-hKl_wyoXufZkpidpyr2lDeK-W0VOeWdl_jci6Qhv0AcFx-qhfP6onTc7r67C7qsQIBbJDyr-sLsBN1vzn5k-ZpqHQEUu_kUTD2kE_Y8cJqXCdz0M0jVUcDxX4tbLBH9e6IDWjK0zEec77vbQYLZ9I-_qfioBotpzCON8fB0jVQ32wwcZgClZW18cDjwj9zuRfw
复制到页面中token的位置,即可登陆
添加私有仓库
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps get pod
NAME READY STATUS RESTARTS AGE
apprepo-kubeapps-sync-mychart-2wpxm-rszj5 0/1 CrashLoopBackOff 4 2m56s
报错原因找不到reg.westos.org的主机
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps logs apprepo-kubeapps-sync-mychart-2wpxm-rszj5
time="2020-05-13T14:25:27Z" level=error msg="error requesting repo index" error="Get https://reg.westos.org/chartrepo/charts/index.yaml: dial tcp: lookup reg.westos.org on 10.96.0.10:53: no such host" url="https://reg.westos.org/chartrepo/charts/index.yaml"
time="2020-05-13T14:25:27Z" level=fatal msg="Get https://reg.westos.org/chartrepo/charts/index.yaml: dial tcp: lookup reg.westos.org on 10.96.0.10:53: no such host"[kubeadm@server2 kubeapps]$ kubectl -n kube-system edit cm coredns #添加172.25.60.1 reg.westos.org解析hosts {172.25.60.1 reg.westos.org172.25.60.2 server2172.25.60.3 server3172.25.60.4 server4fallthrough}[kubeadm@server2 kubeapps]$ cat /etc/docker/certs.d/reg.westos.org/ca.crt # 证书
-----BEGIN CERTIFICATE-----
MIIF0TCCA7mgAwIBAgIJAOSVEpzmZ0N6MA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV
BAYTAmNuMRAwDgYDVQQIDAdzaGFhbnhpMQ4wDAYDVQQHDAV4aSdhbjEPMA0GA1UE
CgwGd2VzdG9zMQ4wDAYDVQQLDAVsaW51eDEXMBUGA1UEAwwOcmVnLndlc3Rvcy5v
cmcxFDASBgkqhkiG9w0BCQEWBWFkbWluMB4XDTIwMDUwMzE1NTU1MloXDTIxMDUw
MzE1NTU1MlowfzELMAkGA1UEBhMCY24xEDAOBgNVBAgMB3NoYWFueGkxDjAMBgNV
BAcMBXhpJ2FuMQ8wDQYDVQQKDAZ3ZXN0b3MxDjAMBgNVBAsMBWxpbnV4MRcwFQYD
VQQDDA5yZWcud2VzdG9zLm9yZzEUMBIGCSqGSIb3DQEJARYFYWRtaW4wggIiMA0G
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDf5XNCuVasGTEKqy7ulVzuV1vBgoFc
vLgy+Mq8lZPLDjfDiMtNcHNoL+aS9uk5uw2an/hqZLTKBZ9y2mMmSgLCED1Qz2LR
mMzMaEpKMlhLq/mIGY/SbT5GIsZSxnYDR1zLXmzCKAaCDUcm/DbqN+UPDJaHftsh
1Ha0KF+gg08ZI/+y8gK8bJnZAaGrg7nefohX7xrYaqrQ5zRemH8HSHmpcartOkpH
8fd359nOEyWJtBf+Qzh3nBDSrUT63e8Q4GNngNhmo6mCCQy5T6/R2Fwf5uwnXP2M
tJKIu23Z1GZ6dTQN2fqrjx5kbmJRJfX8BBUghxkToOAkWQMOlY0ot5eOvHMgVYtz
ANm0r/p3d69xYelEUkrqwkOQLGEtW6T/BLL2sW2qU3Um+rsV+jHONFTChCdfQpqQ
KiYk/WZu1zZRcyXJyrTfE9VeSA++F7wD59wJ0XLTzRQ3nAg5b1aJIEFIKGSx2jYW
uZWNdA3VGwbDWpcjsQKo6TxR5xT9mfeGwR6PE4ztJ8JY7ZepkXWoXGdAXHJgK/A7
x+gk2lB/ZPMEUbqucwFNjCNHVITKzX3UpfbYyrY/z/TTchsUz2vf7FOvXpLvy4CF
jXD+yNTi84fjF50MXjkPztK6xv/EjSqndqoot2CdhRRueMClv4um+TOfhIdiqCI3
ECqrsql10jBnjwIDAQABo1AwTjAdBgNVHQ4EFgQUcQF40OzAAU1C6NiWuawtR4+R
n5kwHwYDVR0jBBgwFoAUcQF40OzAAU1C6NiWuawtR4+Rn5kwDAYDVR0TBAUwAwEB
/zANBgkqhkiG9w0BAQsFAAOCAgEAYc7nOYwUhA7YcYMNAFCch+0ajBndNskxk0Xk
J5xykPfE+cdo2uFgMEa7zj373bFT8haT7LM2Ae+SJXA3eJYr561uWGgs1c6E0EXc
STEfV+KT3IuKT8vJiN2XHXJJhwJp4+Ax97Tn3MadhsGClNSP2wjZZdDPY+yrcP7i
hsjcfz7/czQwVUnsNsLNA1v5mi/URu7Y0vmiu84xiy4fPRVA7un/8c3ogiUhJpps
ge1KJ+maovagJzIBb0BEQsZ6vi4FLsaJ/7iFHpDda5B/nqlkRN9AUvAvksbHWT76
4Yny9ei5QVam+ORdrfcjPoIWZIzmTZoX5GXa54YRVtHZuWOJj4VcTKMnW6TYtL2V
3jhkkICA/TFEBsYIsP/Z6TPRukb9ZSLo06fKdrRoXoy6Lf7atSls1dzdEsgbLQ1o
SBi+PRPYV1qivDpOSwVHVkQe5ZmemH90OoFseDNs3dCZHCUlNIRxxIA1T3V0SlJr
nXSQr0/eWsDzDlqg7LGhqD6y1zbLvxRweEc6Pdzi3yvrhPmjh0nW+YjMAHLx0fd+
zhfGWj6WwWLNPYvNnp06xyyVxozG/Jj/zjg5aMrOXzpfADOZue8c5W5hG5r98JQ8
JufviJOgiHY+DM9KnG2oQ6WKd2M3Jihx5LCE2twNEmYTEyCjCll50r9NOGuplIJM
3wwTJ1E=
-----END CERTIFICATE-----
重新添加mychart库
[kubeadm@server2 kubeapps]$ kubectl -n kubeapps get pod # mychart可以正常使用
NAME READY STATUS RESTARTS AGE
apprepo-kubeapps-cleanup-mychart-x998h-w6lqr 0/1 Completed 0 11m
apprepo-kubeapps-sync-mychart-v9wtn-dmr86 0/1 Completed 0 4m5s
apprepo-kubeapps-sync-stable-1589379000-6zxz8 0/1 Completed 0 28m
apprepo-kubeapps-sync-stable-1589379600-vvxhd 0/1 Completed 0 18m
apprepo-kubeapps-sync-stable-1589380200-22wzf 0/1 Completed 0 8m17s
apprepo-kubeapps-sync-stable-vnqz5-gpxtj 0/1 Completed 0 33m
部署完成,直接访问
kubernetes:部署kubeapps应用,为Helm提供web UI界面管理相关推荐
- kafka自带没web ui界面,怎么办?安装个第三方的
见 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口) 转载于:https:// ...
- zkui - Zookeeper的Web UI界面 windows环境
一.zkui它提供了一个zookeeeper管理界面. 二.下载地址:github:https://github.com/DeemOpen/zkui gitee:https://gitee.c ...
- 最终版:1分钟自动部署数字人平台并提供web服务:唇形合成(wav2lip) + 超分修复(codeformer),
Demo效果 本文实现步骤:数字人形象(AI绘画) -> 文字转语音(谷歌tts) -> 表情迁移 -> 唇形合成 -> 视频超分 上述步骤所有技术均已在此专栏发布,可点击上方 ...
- HBase部署完成,Web UI界面无法打开有效解决方法
问题: 1.HBase已经部署完成,jps查看进程都存在,但HMaster总会闪退. 2.16010的界面无法打开(拒绝链接) 3.三台节点的16030界面显示如下(regionserver只在初始化 ...
- python运维脚本部署jdk_基于Java/Python搭建Web UI自动化环境
Java搭建UI自动化测试环境 下载JDK8 https://www.cnblogs.com/thloveyl/p/12378124.html 配置Java环境 1.解压Jdk压缩包 2.配置环境变量 ...
- 自己电脑访问跳板机里面的集群中的web ui界面
. 使用流程: ①SecureCRT必须先登录跳板机,如果不首先登录跳板机(当做代理服务器),②中web会无法打开 ②自己电脑网页打开localhost:8085
- ESP8266 wifi killer固件汉化版web ui界面wifi名字存在xss注入
一.漏洞简介 了解无线安全的同学应该都知道基于ESP8266的wifi killer固件,可以用来辅助无线渗透测试,其自带了一个web管理界面,其中有一个wifi ap列表,就是这个列表存在xss注入 ...
- Web UI 用户管理部分 Bug报告
由于项目前期的设计问题,导致后期的Bug较多,且有些不容易修改,只能推到Beta版.我这个PM应该负责.. 由于Bug较多,这里不已数量说,而以类型说明. 1 SQL注入 这是在前期完全没有想到,知道 ...
- WEB UI 界面打印PDF
项目上看到的,感觉很厉害的样子,所以要存档... 说一下思路:画的SF,然后在WDA里调用SF,产生PDF数据流,然后在WDA里用PDF展示出来,UI调用... COMPONENTCONTROLLER ...
最新文章
- JavaScript学习系列6 充实文档的内容
- Android中用GridView实现九宫格的两种方法
- 如何指南:Apache Drill入门
- InfluxDB Java入门
- XML DOM学习笔记(JS)
- STC学习:振动声光报警器
- 读《Java编程思想第五版》心得体会
- IM即时通讯加入“对方正在输入…”真的好吗?
- mac tortoisesvn客户端_TortoiseSVN Mac版
- [翻译]Reactor Netty参考指南 - 8.UDP客户端
- [转载]学习整理英文单词收藏
- python中def _init_是什么意思_python3类中的def __init()__如何使用?
- 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
- 微信小程序实现收货地址城市选择效果(添加收货地址)
- macOS上的改键指南--使用Karabiner
- 第九章 代数系统 + 群、环、域 + 格,布尔代数
- FastReport for Delphi2010 中文菜单显示不全或者乱码解决方法
- 拓普康机器人控制器_营山拓普康MS05AXⅡ全自动测量机器人价格
- 2022个人邮箱注册哪个好?163企业邮箱怎么申请注册个人电子邮箱
- [战略]武科大IT交流群-群目标和具体措施-V1.0