theoforce 发表于 2018-1-4 17:44:39

Kubernetes-tutorials(五)


[*]The tutorials use Katacoda to run a virtual terminal in your web browser that runs Minikube, a small-scale local deployment of Kubernetes that can run anywhere. There's no need to install any software or configure anything; each interactive tutorial runs directly out of your web browser itself.
[*]A Kubernetes cluster that handles production traffic should have a minimum of three nodes.
[*] The nodes communicate with the master using the Kubernetes API, which the master exposes. End users can also use the Kubernetes API directly to interact with the cluster.
Module1

[*]查看minikube是否安装
  $ minikube version
  minikube version: v0.17.1-katacoda

[*]启动集群
  $ minikube start
  Starting local Kubernetes cluster...

[*]查看客户端及服务端版本信息
  $kubectl version
  Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}

[*]查看集群信息
  $ kubectl cluster-info
  Kubernetes master is running at http://host01:8080
  heapster is running at http://host01:8080/api/v1/namespaces/kube-system/services/heapster/proxy
  kubernetes-dashboard is running at http://host01:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
  monitoring-grafana is running at http://host01:8080/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
  monitoring-influxdb is running at http://host01:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy

[*]列出应用可用的节点信息
  $ kubectl get nodes
  NAME      STATUS    ROLES   AGE       VERSION
  host01    Ready   <none>    4m      v1.5.2
Module 2
  If the Node hosting an instance goes down or is deleted, the Deployment controller replaces it. This provides a self-healing mechanism to address machine failure or maintenance.
  Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes

[*]命令用法查询
  kubectl
  kubectl get nodes --help

[*]查看kubectl是否和集群正常通信
  $ kubectl version
  Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}

[*]查看集群中的节点信息
  $ kubectl get nodes
  NAME      STATUS    ROLES   AGE       VERSION
  host01    Ready   <none>    6m      v1.5.2

[*]在kubernetes上运行第一个应用
  $ kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
  deployment "kubernetes-bootcamp" created

[*]获取已经部署的应用
  $ kubectl get deployments
  NAME                  DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
  kubernetes-bootcamp   1         1         1            1       2m

[*]运行一个proxy使得应用在外部和私有网络之间的通信
  $ kubectl proxy
  Starting to serve on 127.0.0.1:8001

[*]通过API获取相关信息
  $ curl http://localhost:8001/version
  {
  "major": "1",
  "minor": "5",
  "gitVersion": "v1.5.2",
  "gitCommit": "08e099554f3c31f6e6f07b448ab3ed78d0520507",
  "gitTreeState": "clean",
  "buildDate": "1970-01-01T00:00:00Z",
  "goVersion": "go1.7.1",
  "compiler": "gc",
  "platform": "linux/amd64"

[*]通过proxy实现容器信息的查询
  $ export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
  $ echo Name of the Pod: $POD_NAME
  Name of the Pod: kubernetes-bootcamp-390780338-xgkq1
  $ curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/$POD_NAME/
  Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-390780338-xgkq1 | v=1
页: [1]
查看完整版本: Kubernetes-tutorials(五)