zoukankan      html  css  js  c++  java
  • Minikube Use Totorials

    安装Minikube

    环境准备
    - Ubuntu16
    安装 kubectl
    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
    chmod +x ./kubectl
    sudo mv ./kubectl /usr/local/bin/kubectl
    kubectl version --client
    安装 Minikube
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_1.8.0_amd64.deb && sudo dpkg -i minikube_1.8.0_amd64.deb
    国内可能无法访问,可以采用阿里源
    curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.8.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
    配置 Hypervisor

    验证您的系统是否启用了虚拟化支持:
    egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
     如果上述命令输出“否”:
    如果您在虚拟机中运行,那么您的虚拟机监控程序不允许嵌套虚拟化。你需要使用无(裸金属)驱动器
    如果您在物理机器上运行,请确保您的BIOS启用了硬件虚拟化

    启动 Minikube
    sudo minikube start --vm-driver=none --image-repository=registry.aliyuncs.com/google_containers
    所需镜像如下

    若无法连接谷歌可直接下载以下镜像(要对应版本)
    docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.17.3
    docker pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.3
    docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.3
    docker pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.3
    docker pull registry.aliyuncs.com/google_containers/coredns:1.6.5
    docker pull registry.aliyuncs.com/google_containers/etcd:3.4.3-0
    docker pull registry.aliyuncs.com/google_containers/pause:3.1
    docker pull registry.aliyuncs.com/google_containers/storage-provisioner:v1.8.1
    Kubernetes 可视化界面
    minikube dashboard
    访问控制台的连接即可

    启动K8s集群
    sudo minikube start --vm-driver=none --image-repository=registry.aliyuncs.com/google_containers
    启动GUI
    minikube dashboard
    K8s 部署应用程序

    Server.js
    var http = require('http');
    
    var handleRequest = function(request, response) {
      console.log('Received request for URL: ' + request.url);
      response.writeHead(200);
      response.end('Hello World!');
    };
    var www = http.createServer(handleRequest);
    www.listen(8080);
    Dockerfile
    FROM node:6.9.2
    EXPOSE 8080
    COPY server.js .
    CMD node Server.js
    打包镜像
    docker build -t hello-node:v1 .
    部署应用
     kubectl run hello-node --image=hello-node:v1 --port=8080
    查看Deployment:
     kubectl get deployments 
    输出:
    NAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    hello-node   1         1         1            1           3m
    查看Pod:
     kubectl get pods 
    输出:
    NAME                        READY     STATUS    RESTARTS   AGE
    hello-node-714049816-ztzrb   1/1       Running   0          6m
    查看群集events:
     kubectl get events 
    查看kubectl配置:
     kubectl config view 
    创建Service

    默认情况,这Pod只能通过Kubernetes群集内部IP访问。要使hello-node容器从Kubernetes虚拟网络外部访问,须要使用Kubernetes Service暴露Pod。

    我们可以使用kubectl expose命令将Pod暴露到外部环境:
     kubectl expose deployment hello-node --type=LoadBalancer 
    查看刚创建的Service:
     kubectl get services 
    输出:
    NAME        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
    hello-node   10.0.0.71    <pending      8080/TCP   6m
    kubernetes   10.0.0.1     <none         443/TCP    14d
     通过--type=LoadBalancer flag来在群集外暴露Service,在支持负载均衡的云提供商上,将配置外部IP地址来访问Service。在Minikube上,该LoadBalancer type使服务可以通过minikube Service 命令访问。
     minikube service hello-node 
    将打开浏览器,在本地IP地址为应用提供服务,显示“Hello World”的消息。

    最后可以查看到一些日志
     kubectl logs <POD-NAME > 

    K8s 更新应用程序

    编辑server.js文件以返回新消息:
     response.end('Hello World Again!'); 
    build新版本镜像
    docker build -t hello-node:v2 . 
    Deployment更新镜像:
    kubectl set image deployment/hello-node hello-node=hello-node:v2 
    再次运行应用以查看新消息:
    minikube service hello-node
    删除 K8s 集群
    现在可以删除在群集中创建的资源:
    kubectl delete service hello-node
    kubectl delete deployment hello-node
    或者停止Minikube:
    minikube stop
    K8s kubectl 命令表

    [kubectl命令列表]
    
    

    参考资料

    Github代码库:https://github.com/AliyunContainerService/minikube)
    参考博文:https://yq.aliyun.com/articles/221687)
    官方文档:https://minikube.sigs.k8s.io/docs/start/
  • 相关阅读:
    解决VB6.0中不能加载MSCOMCTL.OCX的错误提示
    修改SQL Server数据库表的创建时间简单直接有效的方法
    如何将SQL Server 2000备份的数据库文件还原(升级)为SQL Server 2005或更高版本的数据库?
    如何创建和还原SQL Server 2005数据库?
    SQL Server 2005详细安装过程及配置
    如何创建和还原SQL Server 2000数据库?
    Python接受流式输入
    图的遍历(Python实现)
    Python实现多属性排序
    python构造二维列表以及排序字典
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/12591788.html
Copyright © 2011-2022 走看看