
Kubernetes 1.5.0 was released just about a month ago! Key theme for the release are:
- StatefulSets (ex-PetSets)
- StatefulSets are beta now (fixes and stabilization)
- Improved Federation Support
- New command:
kubefed - DaemonSets
- Deployments
- ConfigMaps
- New command:
- Simplified Cluster Deployment
- Improvements to
kubeadm - HA Setup for Master
- Improvements to
- Node Robustness and Extensibility
- Windows Server Container support
- CRI for pluggable container runtimes
kubeletAPI supports authentication and authorization
Read CHANGELOG for complete details. Up until 1.5.0, starting up a Kubernetes cluster on Amazon Web Services was pretty straight forward.
|
1 |
NUM_NODES=2 NODE_SIZE=m3.medium KUBERNETES_PROVIDER=aws ./cluster/kube–up.sh |
But with 1.5.0 and 1.5.1, the command fails with the error:
|
1 2 3 4 5 |
... Starting cluster in us–west–2a using provider aws ... calling verify–prereqs ... calling kube–up Starting cluster using os distro: jessie !!! Cannot find 쿠버네티스–서버–리눅스–amd64.tar.gz |
What happened? Basically, Kubernetes binaries was getting bigger than 1GB. The binary was broken into a basic install bundle and client and server binaries. The updated installation process requires to download the basic install bundle of of 4.57 MB (yes, MB instead of GB). It includes cluster scripts like kubectl, kube-up.sh 그리고 kube-down.sh, examples, docs and other scripts. This then downloads client and server binaries. Server binary is the base image that is used to start EC2 instances. But instead of automating the download of binaries, somebody decided to add a README in the 서버 디렉토리.
This was a big user experience change, and no links in the README bundled with the release or the release blog. Ouch!
Anyway, this was filed as #38728 and fixed promptly. But it missed the 1.5.1 release and now finally showed up in the 1.5.2 release today.
So, how do you run a Kubernetes 1.5.2 cluster on AWS? It is more seamlessly integrated now but you need to hit Enter key a couple of times to accept the default value:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
NUM_NODES=2 NODE_SIZE=m3.medium KUBERNETES_PROVIDER=aws ./cluster/kube–up.sh ... Starting cluster in us–west–2a using provider aws ... calling verify–prereqs ... calling verify–kube–바이너리 !!! kubectl appears -로 be broken 또는 missing !!! Cannot find 쿠버네티스–서버–리눅스–amd64.tar.gz Required 바이너리 appear -로 be missing. Do you wish -로 다운로드 them? [Y/n] 쿠버네티스 release: v1.5.2 서버: 리눅스/amd64 (-로 override, 설정 KUBERNETES_SERVER_ARCH) Client: darwin/amd64 (autodetected) Will 다운로드 쿠버네티스–서버–리눅스–amd64.tar.gz 에서 https://storage.googleapis.com/kubernetes-release/release/v1.5.2 Will 다운로드 그리고 extract 쿠버네티스–클라이언트–darwin–amd64.tar.gz 에서 https://storage.googleapis.com/kubernetes-release/release/v1.5.2 Is this ok? [Y]/n Warning: Keep–alive functionality somewhat crippled due -로 missing support in Warning: your operating 시스템! % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 299M 100 299M 0 0 2132k 0 0:02:23 0:02:23 —:—:— 2439k md5sum(쿠버네티스–서버–리눅스–amd64.tar.gz)=7947bd430c4ffc358a6784e51c1d2b0f sha1sum(쿠버네티스–서버–리눅스–amd64.tar.gz)=4dbdcfa623412dac6be8fd5a4209a1f1423e8d30 Warning: Keep–alive functionality somewhat crippled due -로 missing support in Warning: your operating 시스템! % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 22.0M 100 22.0M 0 0 1810k 0 0:00:12 0:00:12 —:—:— 2296k md5sum(쿠버네티스–클라이언트–darwin–amd64.tar.gz)=f55a8f9c300042e9b16e327ad2788521 sha1sum(쿠버네티스–클라이언트–darwin–amd64.tar.gz)=c29ab99e22146ba0a3da5c25de62ed13108b8ba9 Extracting /Users/arungupta/도구/쿠버네티스/쿠버네티스–1.5.2/쿠버네티스/클라이언트/쿠버네티스–클라이언트–darwin–amd64.tar.gz into /Users/arungupta/도구/쿠버네티스/쿠버네티스–1.5.2/쿠버네티스/platforms/darwin/amd64 Add ‘/Users/arungupta/tools/kubernetes/kubernetes-1.5.2/kubernetes/client/bin’ -로 your PATH -로 use newly–installed 바이너리. ... calling kube–up Starting cluster using os distro: jessie Uploading -로 Amazon S3 ... |
After the usual Kubernetes cluster is created, the output is shown as:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
0 minions started; waiting 0 minions started; waiting 2 minions started; ready Waiting ~를 위해 cluster initialization. 이것 will continually check -로 보다 만약 the API ~를 위해 쿠버네티스 이다 reachable. 이것 might loop forever 만약 there was some uncaught error during start up. .........................................................................................................................................................................쿠버네티스 cluster created. Sanity checking cluster... Attempt 1 -로 check 도커 ~에 node @ 35.166.195.134 ...not working yet Attempt 2 -로 check 도커 ~에 node @ 35.166.195.134 ...working Attempt 1 -로 check 도커 ~에 node @ 35.166.188.211 ...not working yet Attempt 2 -로 check 도커 ~에 node @ 35.166.188.211 ...working 쿠버네티스 cluster 이다 running. 그 master 이다 running at: https://35.165.234.219 그 사용자 이름 그리고 비밀번호 -로 use 이다 located in /Users/arungupta/.kube/설정. ... calling validate–cluster No resources found. Waiting ~를 위해 2 ready 노드. 0 ready 노드, 0 등록됨. Retrying. Waiting ~를 위해 2 ready 노드. 0 ready 노드, 2 등록됨. Retrying. Waiting ~를 위해 2 ready 노드. 0 ready 노드, 2 등록됨. Retrying. Found 2 node(s). NAME STATUS AGE IP–172–20–0–206.us–west–2.compute.internal Ready 45s IP–172–20–0–246.us–west–2.compute.internal Ready 42s Validate output: NAME STATUS MESSAGE ERROR 제어기–manager Healthy ok scheduler Healthy ok etcd–0 Healthy {“health”: “true”} etcd–1 Healthy {“health”: “true”} 클러스터 validation succeeded Done, listing cluster services: 쿠버네티스 master 이다 running at https://35.165.234.219 엘라스틱서치 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging Heapster 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/heapster Kibana 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kibana-logging KubeDNS 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kube-dns 쿠버네티스–dashboard 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard 그라파나 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana InfluxDB 이다 running at https://35.165.234.219/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb To further 디버그 그리고 diagnose cluster problems, use ‘kubectl cluster-info dump’. |
Even though your Kubernetes cluster on AWS starts up fine, but kube-up.sh script is going to be deprecated soon. The recommended way is to use Kubernetes Cluster on Amazon using Kops. Now that your Kubernetes cluster is up, what do you do next?
- Follow the detailed steps for Kubernetes for Java Developers workshop.
- Run a Couchbase cluster in Kubernetes
- 자세히 알아보기 Couchbase cluster in Containers

댓글 남기기
댓글을 달기 위해서는 로그인해야합니다.