• 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}}{{" "}}{{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

  • 相关阅读:
    . Embedding Python in Another Application¶
    hive wiki
    PC机与ARM板的聊天软件
    Hadoop hive 运行examples例子 andy030611的日志 网易博客
    Notes on Ubuntu (Linux) computing
    数据结构利器之私房STL(上)
    Embedding Python in C/C++: Part I CodeProject
    linux下dup2的实现
    单台服务器上安装Hadoop和Hive十五分钟教程
    Data Structures with C++ Using STL Chapter 3算法概述笔记
  • 原文地址:https://www.cnblogs.com/cf532088799/p/7791039.html
Copyright © 2020-2023  润新知