安装dashboard监控界面 (仅主节点运行)

dashboard官网参考

使用命令

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

输出如下:

[root@k8s kubernetes]# kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
secret/kubernetes-dashboard-certs created
serviceaccount/kubernetes-dashboard created
role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
deployment.apps/kubernetes-dashboard created
service/kubernetes-dashboard created

查看dashboard镜像是否正常运行

[root@k8s kubernetes]# kubectl get pod --namespace=kube-system
NAME                                   READY     STATUS         RESTARTS   AGE
coredns-78fcdf6894-jf5tn               1/1       Running        0          2h
coredns-78fcdf6894-ljmmh               1/1       Running        0          2h
etcd-k8s                               1/1       Running        0          2h
kube-apiserver-k8s                     1/1       Running        0          2h
kube-controller-manager-k8s            1/1       Running        0          2h
kube-flannel-ds-amd64-8p2px            1/1       Running        0          1h
kube-flannel-ds-amd64-fvpj7            1/1       Running        0          2h
kube-flannel-ds-amd64-p6g4w            1/1       Running        0          1h
kube-proxy-c8rrg                       1/1       Running        0          2h
kube-proxy-hp4lj                       1/1       Running        0          1h
kube-proxy-tn2fl                       1/1       Running        0          1h
kube-scheduler-k8s                     1/1       Running        0          2h
kubernetes-dashboard-6948bdb78-mf7tm   0/1       ErrImagePull   0          1m

显示获取错误,我们首先需要知道需要的是哪个版本的镜像,把yaml文件下载下来,使用命令

curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

使用命令可以找到需要的镜像版本号如: image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3

cat  kubernetes-dashboard.yaml|grep kubernetes-dashboard

我们仍然去找国内的镜像地址获取再改名,使用命令如下(所有节点都需要获取镜像):

docker pull  anjia0532/kubernetes-dashboard-amd64:v1.8.3
docker tag   anjia0532/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3

dashboard默认的 yaml 文件中对于 image 拉取策略的定义是 无论何时都会去拉取镜像,导致即使我们已经docker pull镜像,重命名好仍然会去外网拉取,我们需要修改一下获取镜像策略,最后再 create -f 即可。
使用命令

vi kubernetes-dashboard.yaml

找到imagePullPolicy设置,把 Always 改成 IfNotPresent(本地没有再去拉取) 或者 Never(从不去拉取) 即可。
如果没有找到,则在image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3下增加

imagePullPolicy: Never

如图

使用命令重新安装dashboard

kubectl delete -f kubernetes-dashboard.yaml
kubectl create -f kubernetes-dashboard.yaml

使用命令查看是否dashboard镜像是否正常运行

[root@k8s ~]#  kubectl get pod --namespace=kube-system
NAME                                    READY     STATUS    RESTARTS   AGE
coredns-78fcdf6894-jf5tn                1/1       Running   0          3h
coredns-78fcdf6894-ljmmh                1/1       Running   0          3h
etcd-k8s                                1/1       Running   0          3h
kube-apiserver-k8s                      1/1       Running   3          3h
kube-controller-manager-k8s             1/1       Running   1          3h
kube-flannel-ds-amd64-8p2px             1/1       Running   0          2h
kube-flannel-ds-amd64-fvpj7             1/1       Running   0          3h
kube-flannel-ds-amd64-p6g4w             1/1       Running   0          2h
kube-proxy-c8rrg                        1/1       Running   0          3h
kube-proxy-hp4lj                        1/1       Running   0          2h
kube-proxy-tn2fl                        1/1       Running   0          2h
kube-scheduler-k8s                      1/1       Running   0          3h
kubernetes-dashboard-69c58954fc-99dkn   1/1       Running   0          15s

访问dashboard

这时有两种方式访问dashboard

方式一 使用kubectl proxy

使用kubectl proxy命令就可以使API server监听在本地的8001端口上
使用命令如下:

kubectl proxy --address='0.0.0.0'  --accept-hosts='^*$'

则在内网的任意节点浏览器中可以使用地址访问

192.168.11.90:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

方式二 设置NodePort

通过设置nodePort暴露出外网可访问的服务的地址.

NodePort是将节点直接暴露在外网的一种方式,只建议在开发环境,单节点的安装方式中使用。

修改yaml,添加NodePort.
使用命令

vi kubernetes-dashboard.yaml

找到kind: Service
如下:

# ------------------- Dashboard Service ------------------- #kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:ports:- port: 443targetPort: 8443selector:k8s-app: kubernetes-dashboard

修改代码如下:

kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:# 添加Service的type为NodePorttype: NodePortports:- port: 443targetPort: 8443# 添加映射到虚拟机的端口,k8s只支持30000以上的端口nodePort: 30001selector:k8s-app: kubernetes-dashboard

重启dashboard

kubectl delete -f kubernetes-dashboard.yaml
kubectl create -f kubernetes-dashboard.yaml

通过describe命令我们可以查看其暴露出的 NodePoint,然后便可访问
使用命令输出如下:

[root@k8s ~]# kubectl describe services kubernetes-dashboard -n kube-system
Name:                     kubernetes-dashboard
Namespace:                kube-system
Labels:                   k8s-app=kubernetes-dashboard
Annotations:              <none>
Selector:                 k8s-app=kubernetes-dashboard
Type:                     NodePort
IP:                       10.97.101.40
Port:                     <unset>  443/TCP
TargetPort:               8443/TCP
NodePort:                 <unset>  30001/TCP
Endpoints:                <none>
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

找到NodePort,然后直接访问
需要注意的是,在多节点的集群中,必须找到运行Dashboard节点的IP来访问,而不是Master节点的IP

http://<ip>:30001

就能够进入dashboard。

例如:

http://192.168.11.90:30001/

如果访问不了的话使用以下命令排查

# 查看pod 运行状态
kubectl get pod -n kube-system | grep dashboard
kubernetes-dashboard-7c74685c48-9qdpn   1/1       Running   0          22s
# 查看dashboard service
kubectl get svc -n kube-system|grep dashboard
kubernetes-dashboard   NodePort    10.68.219.38   <none>        443:24108/TCP                   53s
# 查看集群服务
kubectl cluster-info|grep dashboard
kubernetes-dashboard is running at https://192.168.1.1:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
# 查看pod 运行日志,关注有没有错误
kubectl logs kubernetes-dashboard-7c74685c48-9qdpn -n kube-system

如果局域网还是访问不了需要注意防火墙和转发的问题,尝试运行命令

iptables -P FORWARD ACCEPT

可能遇到的问题–is not present with pull policy of Never

需要确认 所有的节点中都包含 需要的镜像,否则会报错。
解决方式
所有节点都准备好需要的镜像即可。

配置访问权限

成功登录dashboard后发现需要配置用户才能继续访问
如图

我们这里使用令牌 token的方式如下:

##创建用户
1.创建服务账号

首先创建一个叫admin-user的服务账号,并放在kube-system名称空间下:
使用命令

vi admin-user.yaml

输入内容如下:

# admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kube-system

执行kubectl create命令:

kubectl create -f admin-user.yaml

2.绑定角色

默认情况下,kubeadm创建集群时已经创建了admin角色,我们直接绑定即可:
使用命令

vi admin-user-role-binding.yaml

输入内容如下:

# admin-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kube-system

执行kubectl create命令:

kubectl create -f  admin-user-role-binding.yaml

3.获取Token

现在我们需要找到新创建的用户的Token,以便用来登录dashboard:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

输出类似:

[root@k8s ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
Name:         admin-user-token-7zmcs
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name=admin-userkubernetes.io/service-account.uid=a7bddc3e-b80b-11e8-94e4-000c29993cc5Type:  kubernetes.io/service-account-tokenData
====
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTd6bWNzIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhN2JkZGMzZS1iODBiLTExZTgtOTRlNC0wMDBjMjk5OTNjYzUiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.IA6CVBVLMd-mn1F7LyGLcqomKvSyjodnqdxI3KXHK8-62EOKSL-vyi8K9oNunf3B0at-qCo8ff1U_YeMlebu0wcYJXm9YwFwyBkLTTfbtXm4tDOV-Oys8WTn96h2urcxl9zqKbkt03DUJt_PWnNi92SyPw5P7etJAjga6_QMKgHmHvnTx9bQ7tm9BvUr56SJU5tS5NUl5MkNcdgP45LMcUCR_P7xXngxSTITlaTWf5R2F6YxfjO_IPdmaqoaQ9tCbwEMVW4nxPjTj3zzEz7riP7EWSHyCqzfj6KEDbjsk0wwsPUDc8pT9kxXOMlLwh2m1n6ZL9o83NTs7S8hLBHMUg
[root@k8s ~]#

然后把Token复制到登录界面的Token输入框中,登入后显示如下:

可能遇到的问题-点击登录没反应

方式的选择

需要注意的是 想要登录到dashboard进行操作监控需要访问的权限,跟我们采用的访问方式有关。

使用kubectl proxy代理的方式来访问webUI。
使用这个代理的方式访问发现输入token或者k k8s的config后点击登录无响应。
原因是
在dashboard1.7 以上的版本只有localhost访问和127.0.0.1时才能使用http的方式去访问。
如果使用其他ip,只能使用https的方式去查看。

使用NodePort方式会强制要求使用https的方式, 可以登陆成功。

如下:

如果使用kubectl proxy方式需要安装证书。

详情参看
Accessing Dashboard 1.7.X and above

Can’t sign in into dashboard

Kubernetes 仪表板通过config和token点击登录无法跳转页面

安装配置https访问

使用命令

kubectl cluster-info

输出如下:

[root@k8s ~]# kubectl cluster-info
Kubernetes master is running at https://192.168.11.90:6443
KubeDNS is running at https://192.168.11.90:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

在浏览器中访问,输出如下:

{"kind": "Status","apiVersion": "v1","metadata": {},"status": "Failure","message": "services \"kube-dns:dns\" is forbidden: User \"system:anonymous\" cannot get services/proxy in the namespace \"kube-system\"","reason": "Forbidden","details": {"name": "kube-dns:dns","kind": "services"},"code": 403
}

这时需要配置https证书。

p12文件模式

首先需要确认kubectl命令的配置文件,默认情况下为/etc/kubernetes/admin.conf,而且已经自动创建在$HOME/.kube/config中,如果没有创建则需要手动赋值。
使用命令

cat $HOME/.kube/config

如果确认有集群的配置则运行以下命令产生认证证书

# 生成client-certificate-data
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt# 生成client-key-data
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key# 生成p12
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"

要求输入密码直接回车即可。
运行完后在当前目录会有个kubecfg.p12证书文件。

手动导入证书
正常情况下,Chrome的证书都是自动导入的。手动导入证书,只是非正常情况下才会用到,比如遇到“您打开的链接不是私密连接”,这个时候就需要手动导入证书了。
点击浏览器 菜单-设置-下翻点击“显示高级设置”-点击“管理证书”
选择“受信任的根证书颁发机构”这一栏,然后点击导入
根据步骤操作即可。
导入上面生成的p12文件,重新打开浏览器,弹出证书信息,点击确定即可。

###crt模式
另外一种方式是自己使用OpenSSL生成dashboard.crt和dashboard.key.然后使用者两个文件重新生成secret kubernetes-dashboard-certs。
使用命令

#生成dashboard.pass.key
openssl genrsa -des3 -passout pass:x -out dashboard.pass.key 2048# 使用dashboard.pass.key生成dashboard.key
openssl rsa -passin pass:x -in dashboard.pass.key -out dashboard.key#使用dashboard.key生成dashboard.crt
#这里让输入一个复杂的密码,不用输入,直接按回车,留空就行。This password is used by Certificate Authorities to authenticate the certificate owner when they want to revoke their certificate. Since this is a self-signed certificate, there’s no way to revoke it via CRL (Certificate Revocation List)。#意思是这个密码是证书拥有者用来撤销这个证书的,因为这是个个人证书所以无法撤销所以就不需要使用。rm dashboard.pass.key
openssl req -new -key dashboard.key -out dashboard.csr#生成一个ssl certificate
openssl x509 -req -sha256 -days 365 -in dashboard.csr -signkey dashboard.key -out dashboard.crt

然后生成的dashboard.crt和dashboard.key就可以用生成dashboard使用的secret了。

这里有两种方式使用crt证书

生成替换secret

第一步:把生成的dashboard.crt和dashboard.key放到$HOME/certs文件夹内,且文件夹内只有这俩文件。
使用命令创建secret

kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs -n kube-system

把Kubernetes-dashboard.yaml文件中的部署secret配置删除,如下内容。

# ------------------- Dashboard Secret ------------------- #apiVersion: v1
kind: Secret
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-certsnamespace: kube-system
type: Opaque

然后重新部署dashboard
使用命令

kubectl create -f kubernetes-dashboard.yaml

####挂载证书
另一种方式
生成crt证书放到目录后
修改dashboard的yml文件,挂载证书目录

 volumes:- name: kubernetes-dashboard-certshostPath:path: /home/share/certstype: Directory

完整Dashboard Deployment如下:

# ------------------- Dashboard Deployment ------------------- #kind: Deployment
apiVersion: apps/v1beta2
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: kubernetes-dashboardtemplate:metadata:labels:k8s-app: kubernetes-dashboardspec:containers:- name: kubernetes-dashboardimage: registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64:v1.8.3ports:- containerPort: 8443protocol: TCPargs:- --auto-generate-certificates- --token-ttl=5400   # 设置token过期时间# Uncomment the following line to manually specify Kubernetes API server Host# If not specified, Dashboard will attempt to auto discover the API server and connect# to it. Uncomment only if the default does not work.# - --apiserver-host=http://my-address:portvolumeMounts:- name: kubernetes-dashboard-certsmountPath: /certs# Create on-disk volume to store exec logs- mountPath: /tmpname: tmp-volumelivenessProbe:httpGet:scheme: HTTPSpath: /port: 8443initialDelaySeconds: 30timeoutSeconds: 30volumes:- name: kubernetes-dashboard-certshostPath:path: /home/share/certstype: Directory- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard# Comment the following tolerations if Dashboard must not be deployed on mastertolerations:- key: node-role.kubernetes.io/mastereffect: NoSchedule

参考
Certificate management
API Server配置证书

#集成Heapster

Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS。

Heapster可以收集Node节点上的cAdvisor数据,还可以按照kubernetes的资源类型来集合资源,比如Pod、Namespace域,可以分别获取它们的CPU、内存、网络和磁盘的metric。默认的metric数据聚合时间间隔是1分钟。

Heapster支持多种储存方式,本示例中使用influxdb,直接执行下列命令即可:

kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/influxdb.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/grafana.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/heapster.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/rbac/heapster-rbac.yaml

上面命令中用到的yaml是从

https://github.com/kubernetes/heapster/tree/master/deploy/kube-config/influxdb

复制的,并将k8s.gcr.io修改为国内镜像。

然后,查看一下Pod的状态:

[root@k8s ~]# kubectl get pods --namespace=kube-system
NAME                                    READY     STATUS              RESTARTS   AGE
heapster-844d66dcb7-drdq7               1/1       Running             0          1m
monitoring-grafana-555bb9c5c9-q9rgk     0/1       ContainerCreating   0          1m
monitoring-influxdb-ddbcd4f99-2snqx     1/1       Running             0          1m

等待这三个服务的状态变成Running,刷新一下浏览器,最新的效果如下:
现在再打开Dashboard页面就可以看到CPU和Memory的监控信息了。

如果没有UI图形,说明有报错。
需要使用命令排查
dashboard和heapster有没有异常

kubectl logs heapster-844d66dcb7-drdq7  -f --namespace=kube-system
kubectl logs kubernetes-dashboard-69c58954fc-z4mwm  -f --namespace=kube-system

可能遇到的问题

 error while getting containers from Kubelet: failed to get all container stats from Kubelet URL "http://192.168.11.91:10255/stats/container/": Post http://192.168.11.91:10255/stats/container/: dial tcp 192.168.11.91:10255: getsockopt: connection refused

推测是权限认证问题。

查看yaml文件

wget  http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/heapster.yaml
cat heapster.yaml

发现使用的default的认证方式

    spec:serviceAccountName: heapstercontainers:- name: heapsterimage: reg.qiniu.com/k8s/heapster-amd64:v1.4.2imagePullPolicy: IfNotPresentcommand:- /heapster- --source=kubernetes:https://kubernetes.default- --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086

heapster启动时有两个启动参数:
source指示数据源,heapster是支持多种数据源的,这里用的是“kubernetes”类型的数据源,地址是:kubernetes.default。这个域名的全名是:kubernetes.default.svc.cluster.local,就是service “kubernetes”在cluster中的域名,而”kubernetes”服务就是kube-apiserver,它的信息如下:

[root@k8s ~]# kubectl get services
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   33d
[root@k8s ~]# kubectl describe svc/kubernetes
Name:              kubernetes
Namespace:         default
Labels:            component=apiserverprovider=kubernetes
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP:                10.96.0.1
Port:              https  443/TCP
TargetPort:        6443/TCP
Endpoints:         192.168.11.90:6443
Session Affinity:  None
Events:            <none>
[root@k8s ~]# 

因此,该域名在k8s DNS中会被resolve为clusterip:192.168.11.90。外加https的默认端口是443,因此实际上heapster试图访问的apiserver地址是:https://192.168.11.90:443。

我们的APIServer在secure port上是有client端证书校验的,那么以这样的启动参数启动的heapster是连接不上kube-apiserver的。

接下来,我们按照”Configuring Source”中的方法,将heapster与kube-apiserver之间的连接方式改为通过insecure port进行:
insecure-bind-address ip
用于监听–insecure-port的IP地址 (设置成0.0.0.0表示监听所有接口)。(默认值127.0.0.1)
insecure-port int
用于监听不安全和为认证访问的端口。这个配置假设你已经设置了防火墙规则,使得这个端口不能从集群外访问。对集群的公共地址的443端口的访问将被代理到这个端口。默认设置中使用nginx实现。(默认值8080)

关于Heapster更详细的用法可参考官方文档:https://github.com/kubernetes/heapster。

kubernetes--k8s--web管理界面使用--dashboardv1.8.3版本安装详细步骤相关推荐

  1. 【五】K8s-Dashboard 安装(K8s Web管理界面)

    一.在 master 节点操作 由于 K8s 版本不同,具体去这里查看对应的版本 https://github.com/kubernetes/dashboard/releases 如果使用 wget ...

  2. 【Linux云计算架构:第四阶段-Linux虚拟化-私有云-docker】第12章—— 搭建 Kubernetes 的 web 管理界面和基于 k8s 搭建+redis 集群案例

    13.1 部署 Kubernetes Dashboard web 界面 13.1.1 创建 dashboard-deployment.yaml deployment 配置文件 13.1.2 创建 da ...

  3. Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)

    Kubernetes---- 二进制集群部署(ETCD集群+Flannel网络) Kubernetes----单节点部署 Kubernetes----双master节点二进制部署 Kubernetes ...

  4. 写了一个puppet web 管理界面,打算开源

    2019独角兽企业重金招聘Python工程师标准>>> 写了一个puppet web 管理界面,打算开源 大家觉得怎么样 ? 转载于:https://my.oschina.net/u ...

  5. ActiveMQ activemq web管理界面介绍

    [访问地址] Active MQ的web管理界面默认访问地址: http://127.0.0.1:8161/admin [Queues功能介绍]- 多的不说英文看不懂就看中文 英文界面截图 翻译界面截 ...

  6. kvmweb管理工具_KVM的web管理界面

    安装好KVM之后,就可以安装kimchi和wok了. 一.KVM的web管理界面 什么是Wok? Wok基于cherrypy的web框架,可以通过一些插件来进行扩展,例如:虚拟化管理.主机管理.系统管 ...

  7. rabbitmq的web管理界面-密码管理

    rabbitmq的web管理界面 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的rele ...

  8. (二)安装SVN服务器,web管理界面

    总览: 基于Linux centos7 搭建内网服务器,并通过外网访问_紫气东来d的博客-CSDN博客 一.安装svn服务器subversion [root@localhost ~]# ifconfi ...

  9. 小米路由器开启外网访问SSH和WEB管理界面

    前   言 关于<小米路由器开启SSH并连接>参考下文https://blog.csdn.net/desertworm/article/details/117958369 由于小米路由为了 ...

最新文章

  1. python基础知识理解
  2. 使用C语言来实现模块化
  3. Java创建cookie和删除cookie
  4. 文本挖掘(part6)--共现矩阵
  5. 使用fn函数控制页面显示内容
  6. 滑块 组件_组件制作:如何使用链接的输入创建滑块
  7. 七年级计算机室使用计划表,七年级信息技术教学工作计划
  8. uploadify 配置后,页面显示无效果
  9. Python 数据分析三剑客之 Matplotlib(十):3D 图的绘制
  10. python中的生成器
  11. mysql错误日志为aborting_MySQL 错误日志(Error Log)
  12. php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)
  13. [041] 微信公众帐号开发教程第17篇-应用实例之智能翻译
  14. 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  15. java 一级缓存,MyBatis一级缓存避坑完全指南
  16. linux用户limit修改,linux – 使用cgroups作为用户设置用户创建的systemd范围的MemoryLimit...
  17. Redis 那么快之底层 ziplist 的奥秘!
  18. 计算机九针孔什么接口,db9接口-USBCAN-I设备的DB9针串口头中的针脚是如何定义的-电气资讯 - 电工屋...
  19. 谷歌火狐浏览器被360浏览器劫持的解决办法
  20. 转载:电脑cmd命令怎么测试网速详细步骤

热门文章

  1. 卷毛0基础学习Golang-基础-slice切片
  2. mysql match_mysql全文检索 match() against
  3. git 项目 保存至gitee中
  4. 風の記憶 - 熊木杏里
  5. 分析51啦和CNZZ统计的优缺点
  6. 基于知识图谱的医药领域问答项目实践中所遇到的问题
  7. 君子之交+续篇+番外 txt全集
  8. Python中用户界面设计(GUI)
  9. 一个来自内蒙 正式工作两年的攻城狮的独白以及总结
  10. 止步89岁!宣布证明黎曼猜想后,数学大师阿蒂亚爵士突然逝世...