Coder Social home page Coder Social logo

kubernetes-retired / kube-ui Goto Github PK

View Code? Open in Web Editor NEW
149.0 149.0 57.0 11.25 MB

[EOL] Deprecated Web UI for Kubernetes; please try dashboard instead

Home Page: http://kubernetes.io

License: Apache License 2.0

JavaScript 8.73% HTML 5.83% CSS 1.78% Makefile 0.06% Shell 0.14% Go 83.45%

kube-ui's People

Contributors

a-robinson avatar bcbroussard avatar bhaggerty avatar brendandburns avatar djvirgen avatar imesh avatar j3ffml avatar krousey avatar mikedanese avatar nikhiljindal avatar roberthbailey avatar rrmckinley avatar sebholstein avatar shlomizadok avatar smarterclayton avatar stevesloka avatar sttts avatar tallclair avatar thockin avatar tsl0922 avatar yllierop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kube-ui's Issues

How to add a component to a default install?

Hi,

I just got kubernetes up and running and noticed that the graph component isn't in the default installation. Is there some documentation on how to add this or any component to a default installation?

Thanks!

nodes marked NotReady prevent "normal" display of the dashboard

I need to prove this empirically, but it looks like any node marked "NotReady" breaks the display of the dashboard...

I had some nodes I had deleted, but failed to remove via "kubectl delete node my_old_node_name"...and the dashboard was displaying the header, but no data about each of the "Ready" nodes.

After running the "kubectl delete node my_old_node_name", the dashboard started displaying node data (cpu, memory) again...

Full Text search engine / Intuitive browsing

Hi guys,

Is on the roadmap to add a tool to navigate svc, pods, and rc with a full text search engine, and maybe some auto completion ? Maybe with a small elasticsearch container with faceted search ?

Cheers,
Luc Michalski

Add num cpus to dashboard showing nodes

This is not so much a bug as a minor feature request to add the number of CPUs to the visual dashboard showing the nodes. The information is already available when looking at the individual nodes themselves.
Granted there is no dynamic visual aspect to this information, but it is still handy to be able to see from this view without having to click into the node details itself.

d3.js path error

the dashboard looks good, but when i open the console, there are a lot of js error
image

Error: Invalid value for <path> attribute d="M-4.837354856632044e-15,-26.33333333333333A26.33333333333333,26.33333333333333 0 0.023327999999999998,1 25.38986878987055,0.5186740219475834L8.034768604389411,0.16413734871758964A8.333333333333329,8.333333333333329 0 0.023327999999999998,0 -1.5308084989341905e-15,-8.333333333333329Z"(anonymous function) @ d3.min.js:5l @ d3.min.js:3(anonymous function) @ d3.min.js:3Lt @ d3.min.js:1qt @ d3.min.js:1
d3.min.js:5 Error: Invalid value for <path> attribute d="M-4.837354856632044e-15,-26.33333333333333A26.33333333333333,26.33333333333333 0 0.020353791999999996,1 19.529189758781122,17.209757533075262L6.180123341386428,5.446125801606095A8.333333333333329,8.333333333333329 0 0.020353791999999996,0 -1.5308084989341905e-15,-8.333333333333329Z"(anonymous function) @ d3.min.js:5l @ d3.min.js:3(anonymous function) @ d3.min.js:3Lt @ d3.min.js:1qt @ d3.min.js:1

No route to host problem

Hello.

I created an Ubuntu Kubernetes cluster, following the guideline https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/ubuntu.md and stumbled upon the following problem on accessing the UI by http://<master node IP>:8080/ui/

Error: 'dial tcp 172.17.0.1:8080: no route to host'
Trying to reach: 'http://172.17.0.1:8080/'

Below is my config-default.sh file content.

# Define all your cluster nodes, MASTER node comes first"
# And separated with blank space like <user_1@ip_1> <user_2@ip_2> <user_3@ip_3> 
export nodes=${nodes:-"[email protected] [email protected] [email protected] [email protected]"}

# Define all your nodes role: a(master) or i(minion) or ai(both master and minion), must be the order same 
role=${role:-"a i i i"}
# If it practically impossible to set an array as an environment variable
# from a script, so assume variable is a string then convert it to an array
export roles=($role)

# Define minion numbers
export NUM_MINIONS=${NUM_MINIONS:-3}
# define the IP range used for service cluster IPs.
# according to rfc 1918 ref: https://tools.ietf.org/html/rfc1918 choose a private ip range here.
export SERVICE_CLUSTER_IP_RANGE=${SERVICE_CLUSTER_IP_RANGE:-10.0.0.0/24}  # formerly PORTAL_NET
# define the IP range used for flannel overlay network, should not conflict with above SERVICE_CLUSTER_IP_RANGE
export FLANNEL_NET=${FLANNEL_NET:-172.16.0.0/16}

FYI:

ubuntu@kuber-master:~/kubernetes/cluster/ubuntu$ kubectl describe pods kube-ui-v1-sia7y --namespace=kube-system
Name:               kube-ui-v1-sia7y
Namespace:          kube-system
Image(s):           gcr.io/google_containers/kube-ui:v1.1
Node:               192.168.0.6/192.168.0.6
Labels:             k8s-app=kube-ui,kubernetes.io/cluster-service=true,version=v1
Status:             Running
Reason:             
Message:            
IP:             172.17.0.1
Replication Controllers:    kube-ui-v1 (1/1 replicas created)
Containers:
  kube-ui:
    Image:  gcr.io/google_containers/kube-ui:v1.1
    Limits:
      memory:       50Mi
      cpu:      100m
    State:      Running
      Started:      Mon, 10 Aug 2015 14:01:59 +0900
    Ready:      True
    Restart Count:  0
Conditions:
  Type      Status
  Ready     True 
Events:
  FirstSeen             LastSeen            Count   From            SubobjectPath               Reason      Message
  Mon, 10 Aug 2015 14:01:53 +0900   Mon, 10 Aug 2015 14:01:53 +0900 1   {scheduler }                            scheduled   Successfully assigned kube-ui-v1-sia7y to 192.168.0.6
  Mon, 10 Aug 2015 14:01:54 +0900   Mon, 10 Aug 2015 14:01:54 +0900 1   {kubelet 192.168.0.6}   implicitly required container POD   pulled      Pod container image "gcr.io/google_containers/pause:0.8.0" already present on machine
  Mon, 10 Aug 2015 14:01:57 +0900   Mon, 10 Aug 2015 14:01:57 +0900 1   {kubelet 192.168.0.6}   implicitly required container POD   created     Created with docker id 838b506f3a4b
  Mon, 10 Aug 2015 14:01:58 +0900   Mon, 10 Aug 2015 14:01:58 +0900 1   {kubelet 192.168.0.6}   implicitly required container POD   started     Started with docker id 838b506f3a4b
  Mon, 10 Aug 2015 14:01:59 +0900   Mon, 10 Aug 2015 14:01:59 +0900 1   {kubelet 192.168.0.6}   spec.containers{kube-ui}        created     Created with docker id a7f9ff08fb23
  Mon, 10 Aug 2015 14:01:59 +0900   Mon, 10 Aug 2015 14:01:59 +0900 1   {kubelet 192.168.0.6}   spec.containers{kube-ui}        started     Started with docker id a7f9ff08fb23

Select a namespace different than default.

I created one namespace named development and two replication controllers (rc). The first rc belongs to the default namespace. The second rc belongs to the development namespace. I used the API ( https://x.y.z/api/v1/pods) to confirm that are as many pods/rc as expected.

However the KUBE-UI displays only the resources (pods/rc/services/...) that belongs to the default namespace. A screen capture of the KUBE-UI displaying the pods in the default namespace:
https://gyazo.com/b9b60fcecbccfa050ccea517769a66c7.

Below the JSON file I used to create the two replication controllers.

{"kind": "ReplicationController",
                     "apiVersion": "v1",
                     "namespace": "default",
                     "metadata": {
                         "name": "rc-test",
                         "labels": {
                             "name": "rc-test"
                         }
                     },
                     "spec": {
                         "replicas": 4,
                         "selector": {
                             "name": "test"
                         },
                         "template": {
                             "metadata": {
                                 "labels": {
                                     "name": "test"
                                 }
                             },
                             "spec": {
                                 "containers": [
                                     {
                                         "name": "container-test",
                                         "image": "redis",
                                         "ports": [
                                             {
                                                 "name": "http-server",
                                                 "containerPort": 9181
                                             }
                                         ],
                                         "env": [
                                             {
                                                 "name": "USER_VAR",
                                                 "value": "important information"
                                             }
                                         ]
                                     }
                                 ]
                             }
                         }
                     }}

Kube-Ui not served after build

Hello,

as far as the README.md goes, I've done everything to get the ui build and all. The Kubernetes Cluster is installed remotely, so I also restarted the kube-apiserver. However, Browsing https://<kubernetes-master>/ui/ gives me nothing other than before: Unauthorized.

I'm afraid I'm missing something simple, like, I've started building the UI in the wrong place. I cloned the kube-ui repo into a different location than the kubernetes repo. The later was then installed through ansible.

Again, npm install worked, after working around some issues, then npm run build worked without error. It seems that the UI just not served when trying to access the URL. So what am I missing out?

Sorry for the ague question.

Sort fileSsytemData by device

The Dashboard FileSystems change order all the time, is it possible to sort this array by the device and keep the order consistent across updates or is the order random on purpose?

see https://github.com/kubernetes/kube-ui/blob/master/master/shared/js/modules/services/cAdvisor.js#L126

var f = {
    device: data.device,
    filesystemNumber: i + 1,
    usage: data.usage,
    usageDescription: humanizeMetric(data.usage),
    capacity: data.capacity,
    capacityDescription: humanizeMetric(data.capacity),
    totalUsage: Math.floor((data.usage * 100.0) / data.capacity)
};

filesystemData.push(f);

I'd try to make the change and send a pull request, but my angular is rusty...

Multiple hard refreshes - required to view sections , certificate warning also.

Hello here is my setup

  1. Host OS: MacoSX 10.10.5
  2. Browser : Firefox 40.0.3
  3. Kubernetes: version 1.1.0 Alpha (but I had the same problem even worse to be honest with 1.0.2/1.0.3 etc)
  4. Kubernetes setup: Local host deployment (master- node) using the ' vagrant way, through /cluster/kube-up.sh
  5. Vagrant Version: 1.7.4
  6. Virtualbox Version : 4.3.30 (Plugins installed).

After the end of the kube-up setup, I have a kubernetes cluster (master and 1 node).

When I try the link to access the Kube-UI, the first time the page only 'renders' the header.

Screenshot1 -> [http://postimg.org/image/ycwvd3kb5/]

Then after a hard refresh meaning Command + Shift + R , I get the rest of the page displayed + I get the warning about the browser security/certificate exception (adding it to the known /safe list).

Screenshot2 -> http://postimg.org/image/89tc1i1q7/
ScreenShot3 -> http://postimg.org/image/d1e3cihml/

When eventually I managed to get the full page then , when I try to access other pages from the menu on the right side of the page, I get no response back, trying to do hard refresh a couple of times, it usually fetches and renders a page.

At the same time, when I try to access Heapster, I get a page with a link 'Temporary Redirect' , I click on the page and I am redirected to -> https://10.245.1.2/validate/ , not sure if this a problem though since this is an alpha version.

Thanks for your time.

Kube-ui Installation Problem

[06:57:54] Using gulpfile /kube-ui/master/gulpfile.js
[06:57:54] Starting 'sync group6:0'...
[06:57:54] Starting 'clean'...
[06:57:54] Finished 'clean' after 28 ms
[06:57:54] Finished 'sync group6:0' after 30 ms
[06:57:54] Starting 'sync group6:1'...
[06:57:54] Starting 'sync group7:0'...
[06:57:54] Starting 'copy:shared-assets'...
[06:57:54] Finished 'copy:shared-assets' after 29 ms
[06:57:54] Finished 'sync group7:0' after 29 ms
[06:57:54] Starting 'sync group7:1'...
[06:57:54] Starting 'copy:components'...
[06:57:54] Tested 26 tests, 26 passes, 0 failures: PASS
[06:57:54] Finished 'copy:components' after 84 ms
[06:57:54] Finished 'sync group7:1' after 84 ms
[06:57:54] Starting 'sync group7:2'...
[06:57:54] Starting 'sync group3:0'...
[06:57:54] Starting 'content:html:app'...
[06:57:54] Finished 'content:html:app' after 16 ms
[06:57:54] Finished 'sync group3:0' after 17 ms
[06:57:54] Starting 'sync group3:1'...
[06:57:54] Starting 'content:html:views'...
[06:57:54] Finished 'content:html:views' after 17 ms
[06:57:54] Finished 'sync group3:1' after 18 ms
[06:57:54] Starting 'content:html'...
[06:57:54] Finished 'content:html' after 18 μs
[06:57:54] Finished 'sync group7:2' after 36 ms
[06:57:54] Starting 'sync group7:3'...
[06:57:54] Starting 'sync group1:0'...
[06:57:54] Starting 'scripts:vendor:base'...
[06:57:54] ✗ FAIL: Missing 16 expected files: ../../third_party/ui/bower_components/jquery/dist/jquery.min.js, ../../third_party/ui/bower_components/hammerjs/hammer.js, ../../third_party/ui/bower_components/angular/angular.js, ../../third_party/ui/bower_components/angular-cookies/angular-cookies.js, ../../third_party/ui/bower_components/angular-animate/angular-animate.js, ../../third_party/ui/bower_components/angular-json-human/dist/angular-json-human.js, ../../third_party/ui/bower_components/angular-route/angular-route.js, ../../third_party/ui/bower_components/angular-css/angular-css.js, ../../third_party/ui/bower_components/angular-aria/angular-aria.js, ../../third_party/ui/bower_components/angular-animate/angular-animate.js, ../../third_party/ui/bower_components/angular-material/angular-material.min.js, ../../third_party/ui/bower_components/angular-filter/dist/angular-filter.min.js, ../../third_party/ui/bower_components/ng-lodash/build/ng-lodash.js, ../../third_party/ui/bower_components/string-format-js/format.js, ../../third_party/ui/bower_components/sprintf/dist/sprintf.min.js, ../../third_party/ui/bower_components/jsonpath/lib/jsonpath.js
[06:57:54] Tested 1 tests, 0 passes, 1 failures: FAIL

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error in plugin 'gulp-expect-file'
Failed 1 expectations
    at DestroyableTransform.endStream [as _flush] (/kube-ui/master/node_modules/gulp-expect-file/index.js:90:26)
    at DestroyableTransform.<anonymous> (/kube-ui/master/node_modules/gulp-expect-file/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:135:12)
    at DestroyableTransform.g (events.js:180:16)
    at DestroyableTransform.emit (events.js:92:17)
    at prefinish (/kube-ui/master/node_modules/gulp-expect-file/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:450:12)
    at finishMaybe (/kube-ui/master/node_modules/gulp-expect-file/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:458:7)
    at endWritable (/kube-ui/master/node_modules/gulp-expect-file/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:469:3)
    at DestroyableTransform.Writable.end (/kube-ui/master/node_modules/gulp-expect-file/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:436:5)
    at DestroyableTransform.onend (/kube-ui/master/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:523:10)
    at DestroyableTransform.g (events.js:180:16)

npm ERR! [email protected] poststart: `gulp`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] poststart script.
npm ERR! This is most likely a problem with the kubernetes-ui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get their info via:
npm ERR!     npm owner ls kubernetes-ui
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.10.0-123.20.1.el7.x86_64
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! cwd /kube-ui/master
npm ERR! node -v v0.10.37
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /kube-ui/master/npm-debug.log
npm ERR! not ok code 0

kubernetes-ui: Dashboard gauges don't display if cluster contains nodes without persistent filesystems

@cameronbrunner reported:

In my test cluster with 2 minions where one does not have any permanent storage (running CoreOS with a RAM only file system) the UI gauges for all nodes fail to render leaving a Kubernetes Dashboard with an empty white 'content' pane. The The exception I received in chrome was:

TypeError: Cannot read property 'length' of undefined
    at maxMemCpuInfo (app.js:919)
    at app.js:840
    at Qn (base.js:22)
    at Function.ke (base.js:22)
    at $scope.getData.k8sApi.getMinions.success.angular.bind.$q.all.then.$scope.loading (app.js:837)
    at u (base.js:6)
    at base.js:6
    at $.$eval (base.js:7)
    at $.$digest (base.js:7)
    at $.$apply (base.js:7)

The line throwing the exception is:

      for (var i = 0; i < fsDataArray.length; i++) {

This appears to be caused by the 'filesystemData' attribute returned by cadvisor being null. I was able to resolve the issue by creating a disk backed root overlay on my RAM only node.

/cc @dysinger

Create a SECURITY_CONTACTS file.

As per the email sent to kubernetes-dev[1], please create a SECURITY_CONTACTS
file.

The template for the file can be found in the kubernetes-template repository[2].
A description for the file is in the steering-committee docs[3], you might need
to search that page for "Security Contacts".

Please feel free to ping me on the PR when you make it, otherwise I will see when
you close this issue. :)

Thanks so much, let me know if you have any questions.

(This issue was generated from a tool, apologies for any weirdness.)

[1] https://groups.google.com/forum/#!topic/kubernetes-dev/codeiIoQ6QE
[2] https://github.com/kubernetes/kubernetes-template-project/blob/master/SECURITY_CONTACTS
[3] https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance-template-short.md

UI seems to show a status of `ReadyOutOfDisk`, but is just reading conditions blindly

Copied from kubernetes/kubernetes#18160:

Attached screenshot:

image

Here's the kubectl describe for one of the nodes. My suspicion is that the UI is just blindly reading the Conditions array, but not paying attention to the fact that OutOfDisk is actually false:

$ kubectl describe node gke-gke-test-5b0827ac-node-0fp5
Name:                   gke-gke-test-5b0827ac-node-0fp5
Labels:                 kubernetes.io/hostname=gke-gke-test-5b0827ac-node-0fp5
CreationTimestamp:      Wed, 02 Dec 2015 18:44:18 +0000
Phase:  
Conditions:
  Type          Status  LastHeartbeatTime                       LastTransitionTime                      Reason               Message
  ────          ──────  ─────────────────                       ──────────────────                      ──────               ───────
  Ready         True    Thu, 03 Dec 2015 17:02:45 +0000         Wed, 02 Dec 2015 18:44:51 +0000         KubeletReady         kubelet is posting ready status
  OutOfDisk     False   Thu, 03 Dec 2015 17:02:45 +0000         Wed, 02 Dec 2015 18:44:17 +0000         KubeletHasSufficientDisk      kubelet has sufficient disk space available
Addresses:      10.240.0.5,104.197.153.203
Capacity:
 cpu:           1
 memory:        3800808Ki
 pods:          40
System Info:
 Machine ID:
 System UUID:                   DD2D413D-5F2F-9CF2-CA62-A93ECE0F4FB9
 Boot ID:                       22c04a3e-8d68-4d57-b0d2-bd4f34ec0ee9
 Kernel Version:                3.16.0-0.bpo.4-amd64
 OS Image:                      Debian GNU/Linux 7 (wheezy)
 Container Runtime Version:     docker://1.8.3
 Kubelet Version:               v1.1.2
 Kube-Proxy Version:            v1.1.2
PodCIDR:                        10.16.2.0/24
ExternalID:                     9191981237347776552
Non-terminated Pods:            (2 in total)
  Namespace                     Name                                                            CPU Requests    CPU Limits   Memory Requests  Memory Limits
  ─────────                     ────                                                            ────────────    ──────────   ───────────────  ─────────────
  kube-system                   fluentd-cloud-logging-gke-gke-test-5b0827ac-node-0fp5           100m (10%)      100m (10%)   200Mi (5%)       200Mi (5%)
  kube-system                   kube-dns-v9-4y9ih                                               310m (31%)      310m (31%)   170Mi (4%)       170Mi (4%)
Allocated resources:
  (Total limits may be over 100%, i.e., overcommitted. More info: http://releases.k8s.io/HEAD/docs/user-guide/compute-resources.md)
  CPU Requests  CPU Limits      Memory Requests Memory Limits
  ────────────  ──────────      ─────────────── ─────────────
  410m (41%)    410m (41%)      370Mi (9%)      370Mi (9%)
No events.

/cc @zmerlynn

Failed at the [email protected] poststart script 'gulp'.

need some help, cloned the master repo, npm install and npm start in master dir, yet I still get this error. any ideas? thanks

➜  master git:(master) ✗ npm start

> [email protected] prestart /Users/jeane/Development/go/src/kube-ui/master
> bower install


> [email protected] start /Users/jeane/Development/go/src/kube-ui/master
> npm install


> [email protected] poststart /Users/jeane/Development/go/src/kube-ui/master
> gulp

[18:11:47] Using gulpfile ~/Development/go/src/kube-ui/master/gulpfile.js
[18:11:47] Starting 'sync group6:0'...
[18:11:47] Starting 'clean'...
[18:11:47] Finished 'clean' after 18 ms
[18:11:47] Finished 'sync group6:0' after 19 ms
[18:11:47] Starting 'sync group6:1'...
[18:11:47] Starting 'sync group7:0'...
[18:11:47] Starting 'copy:shared-assets'...
[18:11:47] Finished 'copy:shared-assets' after 44 ms
[18:11:47] Finished 'sync group7:0' after 45 ms
[18:11:47] Starting 'sync group7:1'...
[18:11:47] Starting 'copy:components'...
[18:11:47] Tested 26 tests, 26 passes, 0 failures: PASS
[18:11:47] Finished 'copy:components' after 67 ms
[18:11:47] Finished 'sync group7:1' after 67 ms
[18:11:47] Starting 'sync group7:2'...
[18:11:47] Starting 'sync group3:0'...
[18:11:47] Starting 'content:html:app'...
[18:11:47] Finished 'content:html:app' after 11 ms
[18:11:47] Finished 'sync group3:0' after 12 ms
[18:11:47] Starting 'sync group3:1'...
[18:11:47] Starting 'content:html:views'...
[18:11:47] Finished 'content:html:views' after 10 ms
[18:11:47] Finished 'sync group3:1' after 11 ms
[18:11:47] Starting 'content:html'...
[18:11:47] Finished 'content:html' after 2.49 μs
[18:11:47] Finished 'sync group7:2' after 23 ms
[18:11:47] Starting 'sync group7:3'...
[18:11:47] Starting 'sync group1:0'...
[18:11:47] Starting 'scripts:vendor:base'...
[18:11:47] Tested 16 tests, 16 passes, 0 failures: PASS
[18:11:47] Finished 'scripts:vendor:base' after 34 ms
[18:11:47] Finished 'sync group1:0' after 35 ms
[18:11:47] Starting 'sync group1:1'...
[18:11:47] Starting 'scripts:vendor:app'...
[18:11:47] Tested 4 tests, 4 passes, 0 failures: PASS
[18:11:47] Finished 'scripts:vendor:app' after 8.3 ms
[18:11:47] Finished 'sync group1:1' after 8.73 ms
[18:11:47] Starting 'scripts:vendor'...
[18:11:47] Finished 'scripts:vendor' after 2.73 μs
[18:11:47] Finished 'sync group7:3' after 44 ms
[18:11:47] Starting 'sync group7:4'...
[18:11:47] Starting 'sync group0:0'...
[18:11:47] Starting 'bundle-manifest'...
[18:11:47] Finished 'bundle-manifest' after 898 μs
[18:11:47] Finished 'sync group0:0' after 1.37 ms
[18:11:47] Starting 'sync group0:1'...
[18:11:47] Starting 'bundle-manifest-routes'...
[18:11:47] Finished 'bundle-manifest-routes' after 1.16 ms
[18:11:47] Finished 'sync group0:1' after 1.5 ms
[18:11:47] Starting 'sync group0:2'...
[18:11:47] Starting 'sync group2:0'...
[18:11:47] Starting 'config:base'...
[18:11:47] Finished 'config:base' after 5.39 ms
[18:11:47] Finished 'sync group2:0' after 5.68 ms
[18:11:47] Starting 'sync group2:1'...
[18:11:47] Starting 'config:copy'...
[18:11:47] ✗ FAIL: Missing 1 expected files: shared/config/development.json
[18:11:47] Tested 1 tests, 0 passes, 1 failures: FAIL
Error in plugin 'gulp-expect-file'
Failed 1 expectations

npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "start"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] poststart: `gulp`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] poststart script 'gulp'.
npm ERR! This is most likely a problem with the kubernetes-ui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get their info via:
npm ERR!     npm owner ls kubernetes-ui
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jeane/Development/go/src/kube-ui/master/npm-debug.log

Pod Visualizer

On my search of finding something to visually represent my cluster (as seen in archive.org at ~51 minutes), I found the undocumented Pod Visualizer in manifest.json.

The whole GUI is working perfectly except for that view - I guess that's why it's not linked / documented anywhere?

screen shot 2015-08-25 at 21 34 15

Support for multiple namespaces

Currently, the UI only supports the "default" namespace...we should display all namespaces the current user has access to...

Care on which namespaces to display should be integrated with UI user authorization (some users may not have access to all namespaces -- though, this should probably be enforced at the API level, if it isn't already)

No data in kube-ui when not running kube master

Install kube-ui into kubernetes (Not in master node)

1. Create kube-system namespace yaml file,

apiVersion: v1
kind: Namespace
metadata:
  name: kube-system

2. Create kube-system namespace by running the command below

kubectl create -f kube-system.yml
kubectl get namespace

3. Label the kubernetes nodes for cluster management, and find nodes by label

kubectl label nodes abcd-x kube-system=true

kubectl get nodes -l kube-system=true -o=wide

4. Create kube-ui service

4.1 Create kube-ui-svc.yml
apiVersion: v1
kind: Service
metadata:
  name: kube-ui
  namespace: kube-system
  labels:
    k8s-app: kube-ui
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: "KubeUI"
spec:
  selector:
    k8s-app: kube-ui
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 30080
4.2 Deploy kube-ui service
# kubectl create -f kube-ui-svc.yml
# kubectl get svc --all-namespaces

5. Create kube-ui pod

5.1 Create kube-ui-rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
  name: kube-ui-v2
  namespace: kube-system
  labels:
    k8s-app: kube-ui
    version: v2
    kubernetes.io/cluster-service: "true"
spec:
  replicas: 1
  selector:
    k8s-app: kube-ui
    version: v2
  template:
    metadata:
      labels:
        k8s-app: kube-ui
        version: v2
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: kube-ui
        image: gcr.io/google_containers/kube-ui:v2
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
        ports:
        - containerPort: 8080
        livenessProbe:
          httpGet:
            path: /
            port: 8080
          initialDelaySeconds: 30
          timeoutSeconds: 5
      nodeSelector:
        kube-system: "true"
5.2 Deploy kube-ui rc
# kubectl create -f kube-ui-rc.yml
# kubectl get rc,pods --all-namespaces

6. Access kube-ui for checking cluster's status

http://abcd-x:30080/#/dashboard/pods

But there is no data showed in UI.
I am using k8s 1.2, I am wondering if there is any way to make it work by using nodeport rather than master ip. Or I'm wondering is if there is any way to set kube-api server's ip address and port?

It can work if I configured master routable to the pod(flanneld) and access http://{kube-master}:8080/api/v1/proxy/namespaces/kube-system/services/kube-ui/#/dashboard/. But I want to know if I don't want to run flanneld in kube-master, is there any way to use kube-ui as well?

Trying to reach: 'http://<nil>:4194/api/v1.0/machine'

Running kube-ui v4 or v5 on kubernetes 1.1.8 on openstack as cloud-provider I cannot get kube-ui working.
The Nodes won't show up and I get a lot of 503 responses.

First kube-ui asks for http://localhost:8082/api/v1/nodes which answers with

{  
   "kind":"NodeList",
   "apiVersion":"v1",
   "metadata":{  
      "selfLink":"/api/v1/nodes",
      "resourceVersion":"961"
   },
   "items":[  
      {  
     "metadata":{  
        "name":"ansible-schnelltest",
        "selfLink":"/api/v1/nodes/ansible-schnelltest",
        "uid":"8e7eda8a-e509-11e5-9796-fa163e49fc37",
        "resourceVersion":"959",
        "creationTimestamp":"2016-03-08T08:41:31Z",
        "labels":{  
           "kubernetes.io/hostname":"ansible-schnelltest"
        }
     },
     "spec":{  
        "externalID":"04af16c6-7ef5-4f01-a96b-dc7767ddb77d",
        "providerID":"openstack:///04af16c6-7ef5-4f01-a96b-dc7767ddb77d"
     },
     "status":{  
        "capacity":{  
           "cpu":"2",
           "memory":"4047024Ki",
           "pods":"40"
        },
        "conditions":[  
           {  
              "type":"OutOfDisk",
              "status":"False",
              "lastHeartbeatTime":"2016-03-08T08:48:06Z",
              "lastTransitionTime":"2016-03-08T08:41:31Z",
              "reason":"KubeletHasSufficientDisk",
              "message":"kubelet has sufficient disk space available"
           },
           {  
              "type":"Ready",
              "status":"True",
              "lastHeartbeatTime":"2016-03-08T08:48:06Z",
              "lastTransitionTime":"2016-03-08T08:41:31Z",
              "reason":"KubeletReady",
              "message":"kubelet is posting ready status"
           }
        ],
        "addresses":[  
           {  
              "type":"ExternalIP",
              "address":""
           }
        ],
        "daemonEndpoints":{  
           "kubeletEndpoint":{  
              "Port":10250
           }
        },
        "nodeInfo":{  
           "machineID":"c616af04f57e014fa96bdc7767ddb77d",
           "systemUUID":"C616AF04-F57E-014F-A96B-DC7767DDB77D",
           "bootID":"d9025615-a510-4204-bb37-13a993ecd5f2",
           "kernelVersion":"4.2.0-19-generic",
           "osImage":"Ubuntu 15.10",
           "containerRuntimeVersion":"docker://1.9.1",
           "kubeletVersion":"v1.1.8",
           "kubeProxyVersion":"v1.1.8"
        }
     }
    ## [... more nodes here]
   ]
}

(most nodes are removed from this result to shorten it up)

The node are referering to each other by node name:

$ kubectl get nodes
NAME                  LABELS                                       STATUS    AGE
ansible-schnelltest   kubernetes.io/hostname=ansible-schnelltest   Ready     30m
[...] more nodes

then for each node I see a request to http://localhost:8082/api/v1/proxy/nodes/ansible-schnelltest:4194/api/v1.0/machine which ends in a 503 Service Unavailable with the following content:

Error: 'dial tcp: lookup <nil>: invalid domain name'
Trying to reach: 'http://<nil>:4194/api/v1.0/machine'

Trying

curl http://ansible-schnelltest:4194/api/v1.0/machine 
curl http://some-other-node:4194/api/v1.0/machine 

on any node or master returns the expected result. The nodes all have the adresses of the other nodes in their /etc/hosts.

On any cluster that uses ips as node-names this works fine, but using ips would break cinder volume support for openstack.

Release a new kube-ui version (w/ reverse proxy support)

We (Mesosphere) would like a new kube-ui release to be published (to GCR or dockerhub), now that #19 has been merged. Then we can package an official version with our next DCOS Kubernetes v1.x package, rather than publishing our own fork.

We should probably also figure out access control so that non-google committers can be given access to publish.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.