!kubernetes 1.10
>> code bash
# apt-get upgrade
<<

この時点でkubectl get nodesすると1.10になっているように見える

>> code bash
$ kubectl get nodes
NAME         STATUS    ROLES     AGE       VERSION
kubernetes   Ready     master    34d       v1.10.0
worker01     Ready     <none>    34d       v1.9.3
<<

>> code bash
# dpkg -l |grep kube
ii  kubeadm                                    1.10.0-00                                    amd64        Kubernetes Cluster Bootstrapping Tool
ii  kubectl                                    1.10.0-00                                    amd64        Kubernetes Command Line Tool
ii  kubelet                                    1.10.0-00                                    amd64        Kubernetes Node Agent
ii  kubernetes-cni                             0.6.0-00                                     amd64        Kubernetes CNI
<<

kubeletのバージョンアップがあったからかな。


>> code bash
# kubeadm upgrade plan
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[upgrade/config] FATAL: could not decode configuration: unable to decode config from bytes: v1alpha1.MasterConfiguration: KubeProxy: v1alpha1.KubeProxy: Config: v1alpha1.KubeProxyConfiguration: FeatureGates: ReadMapCB: expect { or n, but found ", error found in #10 byte of ...|reGates":"","healthz|..., bigger context ...|24h0m0s"},"enableProfiling":false,"featureGates":"","healthzBindAddress":"0.0.0.0:10256","hostnameOv|...

<<

https://github.com/kubernetes/kubernetes/issues/61764

このバグを引いたようだ。featureGatesが空文字なのが問題だ。とりあえず {} とeditした

>> code bash
# kubeadm upgrade plan
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.9.3
[upgrade/versions] kubeadm version: v1.10.0
[upgrade/versions] Latest stable version: v1.10.0
[upgrade/versions] Latest version in the v1.9 series: v1.9.6

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       AVAILABLE
Kubelet     1 x v1.10.0   v1.9.6
                          1 x v1.9.3   v1.9.6

Upgrade to the latest version in the v1.9 series:

COMPONENT            CURRENT   AVAILABLE
API Server           v1.9.3    v1.9.6
Controller Manager   v1.9.3    v1.9.6
Scheduler            v1.9.3    v1.9.6
Kube Proxy           v1.9.3    v1.9.6
Kube DNS             1.14.8    1.14.8
Etcd                 3.1.11    3.1.12

You can now apply the upgrade by executing the following command:

        kubeadm upgrade apply v1.9.6

_____________________________________________________________________

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       AVAILABLE
Kubelet     1 x v1.10.0   v1.10.0
                          1 x v1.9.3   v1.10.0

Upgrade to the latest stable version:

COMPONENT            CURRENT   AVAILABLE
API Server           v1.9.3    v1.10.0
Controller Manager   v1.9.3    v1.10.0
Scheduler            v1.9.3    v1.10.0
Kube Proxy           v1.9.3    v1.10.0
Kube DNS             1.14.8    1.14.8
Etcd                 3.1.11    3.1.12

You can now apply the upgrade by executing the following command:

        kubeadm upgrade apply v1.10.0

_____________________________________________________________________


<<

先に進んだ。


>> code bash
#  kubeadm upgrade apply v1.10.0
(略)
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.10.0". Enjoy!

[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets in turn.
<<

うまいこといったらしい。kubeletはこの後に上げるべきだったようだ。
ubuntuでふつうにkubeadmをあげるとkubeletも上がってしまうのだが・・


!metricsが取れていない
node-exporterが動いていない、前からこうだったか?

ufwの影響でした。

5643382
wiki
1522811619