Kubernetes 1.3の注意事項・既知の問題まとめ

v1.3で当初予定されていた変更点については、tkusumiさんの[Kubernetes 1.3の変更点(予定) - Qiita](http://qiita.com/tkusumi/items/f64fff37a724b86d9819)がまとまっていておすすめです。

## TL;DR;

公式には、以下のIssueにまとめていく方向のようです。

[Known issues for Kubernetes 1.3 release · Issue #27076 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/27076)

この記事では、現時点では上記Issueに書かれていないものも独自に見つけてまとめてあります。

## 対応しているDockerのバージョン

1.9、1.10、1.11でテストされています。

> [release v1.3 should be compatible with docker v1.9, 1.10, and 1.11](https://github.com/kubernetes/kubernetes/issues/27076#issuecomment-229521659)

ただし、どのDockerバージョンを推奨するかはまだ決まっていないように見える。

> We didn't recommend Docker 1.9 for k8s v1.3 yet
> 引用元: [Kernel panic when having a privileged container with docker >= 1.10 · Issue #27885 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/27885#issuecomment-228901904)

上記のIssueで報告されている問題を回避するために、1.9を利用したほうがよいのでは、という話がある。

## kubeproxyがpanicを起こしてKubernetes Networkが動かないことがある

[Work around KubeProxy panic that makes Node's network not working · Issue #25543 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/25543)

1.3からというわけじゃなくて、元々あった問題らしい。

> * It is not a regression from 1.2 release.
* It is way less frequently after we upgrade to docker 1.11.2 from docker 1.9.1
* NodeProblemDetector is not designed for processing arbitrary logs. It is an overkill solution given such low frequency and relative high resource overhead.
* By default NodeProblemDetector is not running on gke node due to the extra overhead per node introduced to our customer.
> 引用元: https://github.com/kubernetes/kubernetes/issues/25543#issuecomment-228485749

Docker側での修正が必要だと考えられているようです。

https://github.com/kubernetes/kubernetes/issues/25543#issuecomment-228841944

## PetSet controllerがエラー時にディレイなしでリトライしてエラーを繰り返し出し続ける

[PetSet controller hot loops on authorization failures and other errors · Issue #27634 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/27634#issuecomment-226842741)

最近だと、同様の問題がnginx-ingress-controllerにもあったのですが、それは0.8で修正済み

[ingress controllers should use delayed queue · Issue #1248 · kubernetes/contrib](https://github.com/kubernetes/contrib/issues/1248)

## rktnetesが対応していない機能一覧

KubernetesのコンテナラインタイムとしてDockerの代わりにrktを使うrktnetesがv1.3で導入されました。
ただし、以下の機能は未対応な模様です。

> * Init containers
* NVIDIA GPU support via the --experimental-nvidia-gpus flag
* OOM Score adjust for QoS classes
* HostPID / HostIPC namespace
* kubectl attach
* Updating a container's image without restarting the entire pod
* Variable KillPod grace period (specifically soft vs hard eviction times)
* hostPath type mounts to non-existent directories fail
* subPath volume mounts do not work correctly
> 
> 引用元: [Document rkt known issue for kubernetes 1.3 release · Issue #26201 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/26201#issuecomment-221716250)

## Federation/Ubernetesの状況

ドキュメント化、federated-apiserverとそのetcdのH/A、GKE・AWSでのE2Eテストは1.3のリリース後に始まるようです。

[Ubernetes: task list · Issue #23653 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/23653#issuecomment-228664840)

## kubectl create secret tls

`--key`と`--cert`オプションを省略した時のオレオレ証明書自動生成機能は未実装

[kubectl create secret tls · Issue #20176 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/20176#issue-128966895)

## ScheduledJob

Distributed CRON（MesosのChronosのような)であるScheduledJobは、v1.4に延期になりました。

[Distributed CRON jobs in k8s · Issue #2156 · kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808)