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@
·
kubernetes
部署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: true
hostname: kubeapps.westos.org # 主机名
initialRepos:
- name: stable
url: http://mirror.azure.cn/kubernetes/charts/
- name: bitnami
url: 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-operator
kubernetes.io/service-account.uid: 4bd2e0dd-c40c-4da9-b744-147be7b9df19
Type: kubernetes.io/service-account-token
Data
====
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.org
172.25.60.2 server2
172.25.60.3 server3
172.25.60.4 server4
fallthrough
}
[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
部署完成,直接访问
更多推荐
所有评论(0)