Dockerをちゃんと使おうと考えていたらKubernetesに出会いました。ERPのシステム開発でkubernetesを使おうとして苦労した、あるいは現在進行形で苦労していることを、そもそもKubernetesが解決しようとしている課題やそのアーキテクチャそのものにも言及しながらお話します。Dockerをベースにシステム設計を行おうとしている方にノウハウ(主に苦労話)を共有します。
July 24th, 2016 July Tech Festa 2016
$ kubectl cluster-info
Kubernetes master is running at http://localhost:8080
KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-
system/services/kube-dns
確認(このfailureの原因は不明)
$ curl http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "no endpoints available for service ¥"kube-dns¥"",
"reason": "ServiceUnavailable",
"code": 503
}
SkyDNSの動作確認(1)
$ kubectl get --all-namespaces svc
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S)
AGE
default kubernetes 10.0.0.1 <none> 443/TCP
2m
kube-system kube-dns 10.0.0.10 <none>
53/UDP,53/TCP 1m
$ kubectl get --all-namespaces ep
NAMESPACE NAME ENDPOINTS AGE
default kubernetes 10.140.0.14:6443 2m
kube-system kube-dns 10.1.19.2:53,10.1.19.2:53 1m
SkyDNSの動作確認(2)
$ dig @10.0.0.10 cluster.local.
(抜粋)
;; ANSWER SECTION:
cluster.local. 30 IN A 10.1.19.2
cluster.local. 30 IN A 127.0.0.1
cluster.local. 30 IN A 10.0.0.10
cluster.local. 30 IN A 10.0.0.1
$ dig @10.1.19.2 cluster.local.
も動くが、このIPアドレスは状況によって変わりうるので依存しては
いけない
SkyDNSの動作確認(3)