Commit Graph

53 Commits

Author SHA1 Message Date
Konstantinos Tsakalozos
f573fc5bce Fix README registry error 2017-08-22 13:27:06 +03:00
George Kraft
6a354c6d29 Fix kubernetes-worker charm hook failure when applying labels 2017-08-14 13:38:07 -05:00
Konstantinos Tsakalozos
86a036feb1 Adding old juju maintainers 2017-07-27 15:42:36 +03:00
Konstantinos Tsakalozos
68b42c3b88 Update maintainers for Juju charm layers 2017-07-25 13:09:09 +03:00
Kubernetes Submit Queue
0af4306695 Merge pull request #49296 from juju-solutions/feature/report-failing-services
Automatic merge from submit-queue (batch tested with PRs 49420, 49296, 49299, 49371, 46514)

Update status to show failing services.

**What this PR does / why we need it**: Report on charm status any services that are not running.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/341

**Special notes for your reviewer**:

**Release note**:

```Report failing services in Juju deployed clusters.
```
2017-07-21 22:23:17 -07:00
Konstantinos Tsakalozos
53f00722e2 Do not try to restart services 2017-07-21 12:39:42 +03:00
Konstantinos Tsakalozos
685dff99ab Update status to show failing services. 2017-07-20 14:57:02 +03:00
jianglingxia
5de3464755 fix the typo of Kubernetes Worker 2017-07-20 14:08:12 +08:00
Konstantinos Tsakalozos
ca0f042854 Set default snap channel on charms to 1.7 stable 2017-07-13 16:24:48 +03:00
Kubernetes Submit Queue
40a21312d1 Merge pull request #48144 from juju-solutions/bug/worker-termination
Automatic merge from submit-queue (batch tested with PRs 48399, 48450, 48144)

Skip errors when unregistering juju kubernetes-workers

**What this PR does / why we need it**: When removing a kubernetes node from using Juju and for some reason kubernetes master fails we should not error the node, instead we should proceed with the removal of the node and the master will recognise that node as unavailable because it will fail heartbeats.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/300

**Special notes for your reviewer**:

**Release note**:

```
Clean decommission of Juju kubernetes worker units 
```
2017-07-05 08:58:39 -07:00
Kubernetes Submit Queue
7b13208d61 Merge pull request #48450 from wwwtyro/rye/lxc-disable-conntrack-max
Automatic merge from submit-queue (batch tested with PRs 48399, 48450, 48144)

configure kube-proxy to run with unset conntrack param when in lxc

**What this PR does / why we need it**: Configures the Juju Charm code to run kube-proxy with `conntrack-max-per-core` set to `0` when in an lxc as a workaround for issues when mounting `/sys/module/nf_conntrack/parameters/hashsize`

**Release note**:

```release-note
Configures the Juju Charm code to run kube-proxy with conntrack-max-per-core set to 0 when in an lxc as a workaround for issues when mounting /sys/module/nf_conntrack/parameters/hashsize
```
2017-07-05 08:58:37 -07:00
Konstantinos Tsakalozos
90a57931af Skip errors when unregistering juju kubernetes-workers 2017-07-05 16:00:37 +03:00
Kubernetes Submit Queue
3823270b9e Merge pull request #48446 from Cynerva/gkk/stop-snaps
Automatic merge from submit-queue (batch tested with PRs 47043, 48448, 47515, 48446)

Fix charms leaving services running after remove-unit

**What this PR does / why we need it**:

This fixes a case where removed charm units can sometimes leave behind running services that interfere with the rest of the cluster.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
Fix charms leaving services running after remove-unit
```
2017-07-04 09:12:57 -07:00
Rye Terrell
05fbc7a7f8 configure kube-proxy to run with unset conntrack param when in lxc 2017-07-03 21:58:54 -05:00
George Kraft
f0e08818d8 Fix charms leaving services running after unit removal 2017-07-03 14:55:07 -05:00
George Kraft
c21b305fe9 Fix kubernetes charms not restarting services after snap upgrades 2017-07-03 09:47:08 -05:00
Kubernetes Submit Queue
d19773d855 Merge pull request #47835 from juju-solutions/feature/security
Automatic merge from submit-queue (batch tested with PRs 47850, 47835, 46197, 47250, 48284)

Securing the cluster created by Juju

**What this PR does / why we need it**: This PR secures the deployments done with Juju master. Works around certain security issues inherent to kubernetes (see for example dashboard access)

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```
Securing Juju kubernetes dashboard
```
2017-06-29 15:16:39 -07:00
Konstantinos Tsakalozos
0525b84a45 Disable anonymous-auth 2017-06-28 10:47:45 +03:00
Konstantinos Tsakalozos
0b01cd743b Improve security of Juju deployed clusters 2017-06-27 12:19:21 +03:00
Konstantinos Tsakalozos
2958118707 Fix setting juju worker labels during deployment 2017-06-08 16:27:05 +03:00
Jacek N
b61fd20cb2 Don't append :443 to registry domain in the kubernetes-worker layer registry action. Fixes #45547 2017-05-09 16:37:09 +01:00
Charles Butler
9ee4e99dc6 Adds the cifs-common package
Enable mounting of filesystems over the CIFS protocol. Closes
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/227
2017-04-28 13:50:05 -05:00
Kubernetes Submit Queue
bec2c604ac Merge pull request #44921 from jacekn/registry-fix
Automatic merge from submit-queue (batch tested with PRs 42432, 44628, 45101, 44921)

Use correct option name in the kubernetes-worker layer registry action

**What this PR does / why we need it**: It fixes #44920 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #44920 

**Special notes for your reviewer**:

**Release note**:

```
Ensure kubernetes-worker juju layer registry action uses correct ingress controller option name
```
2017-04-28 08:41:39 -07:00
Charles Butler
fe1422569b Closes #44392
Fix the pause action with regard to the new behavior where
--delete-local-data=false by default. Historically --force was all that
was required, this flag has changed to be more descriptive of the
actions it's taking.
2017-04-25 16:26:13 -05:00
Jacek Nykis
e02db69826 Use correct option name in the kubernetes-worker registry action. Fixes #44920 2017-04-25 16:38:21 +01:00
Charles Butler
6c2fa2f05e Document the NodePort workflow for kubernetes-worker
closes
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/259

NodePort networking model has no daemon listening to lend a hand so any
NodePort services will need to be manually declared and exposed.
2017-04-24 10:58:38 -05:00
Charles Butler
32acffc7c6 Hostname patch for vsphere provider limitations with juju
This patch sets the hostname to a unique identifier (the juju unit name)
during pre-deployment of the charm. This may not be a FQDN resolveable
hostname but will prevent hostname collision.
2017-04-21 16:25:23 -05:00
Kubernetes Submit Queue
5cbe7b69fb Merge pull request #44681 from wwwtyro/rye/disable-upstream-docker
Automatic merge from submit-queue (batch tested with PRs 44722, 44704, 44681, 44494, 39732)

prevent installation of docker from upstream

**What this PR does / why we need it**: Disallows installation of upstream docker from PPA in the Juju kubernetes-worker charm.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
Disallows installation of upstream docker from PPA in the Juju kubernetes-worker charm.
```
2017-04-20 16:01:00 -07:00
Rye Terrell
20c36e9c93 prevent installation of docker from upstream 2017-04-20 15:03:36 -05:00
Kubernetes Submit Queue
d1f4664f5b Merge pull request #44677 from wwwtyro/rye/kube-proxy-master-flag
Automatic merge from submit-queue

select one api endpoint at random when deploying kubernetes-core charm

**What this PR does / why we need it**: Fixes a bug in the kubernetes-worker Juju charm code that attempted to give kube-proxy more than one api endpoint.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**: https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/255

**Release note**:

```release-note
Fixes a bug in the kubernetes-worker Juju charm code that attempted to give kube-proxy more than one api endpoint.
```
2017-04-19 15:45:35 -07:00
Rye Terrell
39818e16d4 fix missing comma in list of strings 2017-04-19 13:33:08 -05:00
Rye Terrell
6002481524 select one api endpoint at random instead of erroneously using all of them 2017-04-19 13:19:35 -05:00
Tim Van Steenburgh
7b841fe77e Fix nagios checks. 2017-04-14 10:45:37 -05:00
George Kraft
86415961d5 Fix handling of kubernetes-worker.restart-needed state
Credit to @tvansteenburgh, thanks!
2017-04-14 10:45:35 -05:00
Rye Terrell
6e831d6fe9 don't try to remove the node if kubeconfig doesn't exist 2017-04-14 10:45:34 -05:00
Matt Bruzek
258ee22858 Putting the nvidia-smi command in a try catch to avoid errors. 2017-04-14 10:45:33 -05:00
Rye Terrell
33fee22032 add support for kube-proxy cluster-cidr option 2017-04-14 10:45:23 -05:00
Jacek N
ebd2f88f6b Add registry action to the kubernetes-worker layer 2017-04-14 10:43:09 -05:00
Rye Terrell
ca4afd8773 Update CDK charms to use snaps 2017-04-14 10:43:00 -05:00
Marco Ceppi
d3428ef3a4 Add metric collection to charms for autoscalling 2017-04-13 16:02:13 -05:00
Kubernetes Submit Queue
3a3dc827e4 Merge pull request #43467 from tvansteenburgh/gpu-support
Automatic merge from submit-queue (batch tested with PRs 44047, 43514, 44037, 43467)

Juju: Enable GPU mode if GPU hardware detected

**What this PR does / why we need it**:

Automatically configures kubernetes-worker node to utilize GPU hardware when such hardware is detected.

layer-nvidia-cuda does the hardware detection, installs CUDA and Nvidia
drivers, and sets a state that the k8s-worker can react to.

When gpu is available, worker updates config and restarts kubelet to
enable gpu mode. Worker then notifies master that it's in gpu mode via
the kube-control relation.

When master sees that a worker is in gpu mode, it updates to privileged
mode and restarts kube-apiserver.

The kube-control interface has subsumed the kube-dns interface
functionality.

An 'allow-privileged' config option has been added to both worker and
master charms. The gpu enablement respects the value of this option;
i.e., we can't enable gpu mode if the operator has set
allow-privileged="false".

**Special notes for your reviewer**:

Quickest test setup is as follows:
```bash
# Bootstrap. If your aws account doesn't have a default vpc, you'll need to
# specify one at bootstrap time so that juju can provision a p2.xlarge.
# Otherwise you can leave out the --config "vpc-id=vpc-xxxxxxxx" bit.
juju bootstrap --config "vpc-id=vpc-xxxxxxxx" --constraints "cores=4 mem=16G root-disk=64G" aws/us-east-1 k8s

# Deploy the bundle containing master and worker charms built from
# https://github.com/tvansteenburgh/kubernetes/tree/gpu-support/cluster/juju/layers
juju deploy cs:~tvansteenburgh/bundle/kubernetes-gpu-support-3

# Setup kubectl locally
mkdir -p ~/.kube
juju scp kubernetes-master/0:config ~/.kube/config
juju scp kubernetes-master/0:kubectl ./kubectl

# Download a gpu-dependent job spec
wget -O /tmp/nvidia-smi.yaml https://raw.githubusercontent.com/madeden/blogposts/master/k8s-gpu-cloud/src/nvidia-smi.yaml

# Create the job
kubectl create -f /tmp/nvidia-smi.yaml

# You should see a new nvidia-smi-xxxxx pod created
kubectl get pods

# Wait a bit for the job to run, then view logs; you should see the
# nvidia-smi table output
kubectl logs $(kubectl get pods -l name=nvidia-smi -o=name -a)
```

kube-control interface: https://github.com/juju-solutions/interface-kube-control
nvidia-cuda layer: https://github.com/juju-solutions/layer-nvidia-cuda
(Both are registered on http://interfaces.juju.solutions/)

**Release note**:
```release-note
Juju: Enable GPU mode if GPU hardware detected
```
2017-04-04 14:33:26 -07:00
Kubernetes Submit Queue
f5d3126fca Merge pull request #42035 from timchenxiaoyu/enableerror
Automatic merge from submit-queue

enable error

enable word error
2017-03-24 10:25:13 -07:00
Kubernetes Submit Queue
ff353231ec Merge pull request #42102 from timchenxiaoyu/kubltworderror
Automatic merge from submit-queue

kubelet word mistake
2017-03-24 10:25:06 -07:00
Tim Van Steenburgh
c87ac5ef2e Enable gpu mode if gpu hardware detected.
layer-nvidia-cuda does the hardware detection and sets a state that the
worker can react to.

When gpu is available, worker updates config and restarts kubelet to
enable gpu mode. Worker then notifies master that it's in gpu mode via
the kube-control relation.

When master sees that a worker is in gpu mode, it updates to privileged
mode and restarts kube-apiserver.

The kube-control interface has subsumed the kube-dns interface
functionality.

An 'allow-privileged' config option has been added to both worker and
master charms. The gpu enablement respects the value of this option;
i.e., we can't enable gpu mode if the operator has set
allow-privileged="false".
2017-03-23 12:01:23 -04:00
Kubernetes Submit Queue
5b8d600d72 Merge pull request #41919 from Cynerva/gkk/kubelet-auth
Automatic merge from submit-queue (batch tested with PRs 41919, 41149, 42350, 42351, 42285)

Juju: Disable anonymous auth on kubelet

**What this PR does / why we need it**:

This disables anonymous authentication on kubelet when deployed via Juju.

I've also adjusted a few other TLS options for kubelet and kube-apiserver. The end result is that:
1. kube-apiserver can now authenticate with kubelet
2. kube-apiserver now verifies the integrity of kubelet

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*:

https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/219

**Special notes for your reviewer**:

This is dependent on PR #41251, where the tactics changes are being merged in separately.

Some useful pages from the documentation:
* [apiserver -> kubelet](https://kubernetes.io/docs/admin/master-node-communication/#apiserver---kubelet)
* [Kubelet authentication/authorization](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/)

**Release note**:

```release-note
Juju: Disable anonymous auth on kubelet
```
2017-03-03 16:44:37 -08:00
Kubernetes Submit Queue
336203a69b Merge pull request #41923 from Cynerva/gkk/juju-nrpe-relation-squash
Automatic merge from submit-queue (batch tested with PRs 42162, 41973, 42015, 42115, 41923)

add nrpe-external-master relation to kubernetes-master and kubernetes-worker

**What this PR does / why we need it**:

This PR adds an an nrpe-external-master relation to the kubernetes-worker, kubernetes-master and kubeapi-load-balancer charms. This is needed to monitor the state of the workers, the masters and the load-balancers via Nagios.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*:

https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/165

**Special notes for your reviewer**:

Original work by @axinojolais in PR #40897. All I've done is squash commits on his behalf.

**Release note**:

```release-note
The kubernetes-master, kubernetes-worker and kubeapi-load-balancer charms have gained an nrpe-external-master relation, allowing the integration of their monitoring in an external Nagios server.
```
2017-02-28 22:06:05 -08:00
George Kraft
27504d8aca Juju: Disable anonymous auth on kubelet
Adds TLS verification between kube-apiserver and kubelet in both directions
2017-02-27 09:02:24 -06:00
axino
83766d2894 add nrpe-external-master relation to kubernetes-master and kubernetes-worker
For now, the checks are very basic and only check if the systemd
services are running properly.
2017-02-26 10:37:34 -06:00
timchenxiaoyu
34bf0bf1cd kubelet word mistake 2017-02-25 22:15:53 +08:00
George Kraft
100490bd8e Fix shebangs in juju charm actions to use python3 2017-02-24 10:32:19 -06:00