美文网首页
Minikube安装

Minikube安装

作者: 泛轻舟gen | 来源:发表于2018-08-22 17:26 被阅读641次

    由于网络限制,无法连接google服务器,因此提供ali云额安装方式

    Minikube本地安装

    Minikube - Kubernetes本地实验环境

    Demo

    场景 目的
    集群状态查看 检查集群中节点状态和kube的功能集
    创建nginx的Deploy 部署一个nginx的单实例
    检查Deploy 查看部署的运行状况
    服务发现 如何从外部访问
    部署管理 水平扩展或收缩实例以及滚动升级和回滚
    删除资源 释放不再需要的资源

    状态查询

    $ minikube status
    minikube: Running
    cluster: Running
    kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.102
    
    $ minikube dashboard
    

    查看version

    $ kubectl version
    Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
    Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
    
    $ kubectl api-versions
    admissionregistration.k8s.io/v1beta1
    apiextensions.k8s.io/v1beta1
    apiregistration.k8s.io/v1
    apiregistration.k8s.io/v1beta1
    apps/v1
    apps/v1beta1
    apps/v1beta2
    authentication.k8s.io/v1
    authentication.k8s.io/v1beta1
    authorization.k8s.io/v1
    authorization.k8s.io/v1beta1
    autoscaling/v1
    autoscaling/v2beta1
    batch/v1
    batch/v1beta1
    certificates.k8s.io/v1beta1
    events.k8s.io/v1beta1
    extensions/v1beta1
    networking.k8s.io/v1
    policy/v1beta1
    rbac.authorization.k8s.io/v1
    rbac.authorization.k8s.io/v1beta1
    storage.k8s.io/v1
    storage.k8s.io/v1beta1
    v1
    

    查看master状态

    $ kubectl cluster-info
    Kubernetes master is running at https://192.168.99.102:8443
    KubeDNS is running at https://192.168.99.102:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    
    To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
    

    查看节点

    $ kubectl get no
    NAME       STATUS    ROLES     AGE       VERSION
    minikube   Ready     master    30m       v1.10.0
    

    nginx服务创建

    $ kubectl run nginx --image=nginx:1.7.9
    deployment.apps/nginx created

    $ kubectl get deploy
    NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
    nginx 1 1 1 0 31s

    $ kubectl describe deploy nginx
    Name: nginx
    Namespace: default
    CreationTimestamp: Tue, 21 Aug 2018 15:01:39 +0800
    Labels: run=nginx
    Annotations: deployment.kubernetes.io/revision=1
    Selector: run=nginx
    Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
    StrategyType: RollingUpdate
    MinReadySeconds: 0
    RollingUpdateStrategy: 25% max unavailable, 25% max surge
    Pod Template:
    Labels: run=nginx
    Containers:
    nginx:
    Image: nginx:1.7.9
    Port: <none>
    Host Port: <none>
    Environment: <none>
    Mounts: <none>
    Volumes: <none>
    Conditions:
    Type Status Reason


    Available True MinimumReplicasAvailable
    Progressing True NewReplicaSetAvailable
    OldReplicaSets: <none>
    NewReplicaSet: nginx-6bcd55cfd6 (1/1 replicas created)
    Events:
    Type Reason Age From Message


    Normal ScalingReplicaSet 3m deployment-controller Scaled up replica set nginx-6bcd55cfd6 to 1

    NewReplicaSet:保证pod的数量

    $ kubectl get rs
    NAME DESIRED CURRENT READY AGE
    nginx-6bcd55cfd6 1 1 1 9m

    $ kubectl describe rs
    Name: nginx-6bcd55cfd6
    Namespace: default
    Selector: pod-template-hash=2678117982,run=nginx
    Labels: pod-template-hash=2678117982
    run=nginx
    Annotations: deployment.kubernetes.io/desired-replicas=1
    deployment.kubernetes.io/max-replicas=2
    deployment.kubernetes.io/revision=1
    Controlled By: Deployment/nginx
    Replicas: 1 current / 1 desired
    Pods Status: 1 Running / 0 Waiting / 0 Succeeded / 0 Failed
    Pod Template:
    Labels: pod-template-hash=2678117982
    run=nginx
    Containers:
    nginx:
    Image: nginx:1.7.9
    Port: <none>
    Host Port: <none>
    Environment: <none>
    Mounts: <none>
    Volumes: <none>
    Events:
    Type Reason Age From Message


    Normal SuccessfulCreate 10m replicaset-controller Created pod: nginx-6bcd55cfd6-66cvh

    $ kubectl get pod
    NAME READY STATUS RESTARTS AGE
    nginx-6bcd55cfd6-66cvh 1/1 Running 0 13m

    $ kubectl describe pod
    Name: nginx-6bcd55cfd6-66cvh
    Namespace: default
    Node: minikube/10.0.2.15
    Start Time: Tue, 21 Aug 2018 15:01:39 +0800
    Labels: pod-template-hash=2678117982
    run=nginx
    Annotations: <none>
    Status: Running
    IP: 172.17.0.4
    Controlled By: ReplicaSet/nginx-6bcd55cfd6
    Containers:
    nginx:
    Container ID: docker://479a9343c207b4ed4ff9761a7d7abbfb22c331f7ba6501086481bd931410a6e7
    Image: nginx:1.7.9
    Image ID: docker-pullable://nginx@sha256:e3456c851a152494c3e4ff5fcc26f240206abac0c9d794affb40e0714846c451
    Port: <none>
    Host Port: <none>
    State: Running
    Started: Tue, 21 Aug 2018 15:02:11 +0800
    Ready: True
    Restart Count: 0
    Environment: <none>
    Mounts:
    /var/run/secrets/kubernetes.io/serviceaccount from default-token-xg9nx (ro)
    Conditions:
    Type Status
    Initialized True
    Ready True
    PodScheduled True
    Volumes:
    default-token-xg9nx:
    Type: Secret (a volume populated by a Secret)
    SecretName: default-token-xg9nx
    Optional: false
    QoS Class: BestEffort
    Node-Selectors: <none>
    Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
    node.kubernetes.io/unreachable:NoExecute for 300s
    Events:
    Type Reason Age From Message


    Normal Scheduled 13m default-scheduler Successfully assigned nginx-6bcd55cfd6-66cvh to minikube
    Normal SuccessfulMountVolume 13m kubelet, minikube MountVolume.SetUp succeeded for volume "default-token-xg9nx"
    Normal Pulling 13m kubelet, minikube pulling image "nginx:1.7.9"
    Normal Pulled 13m kubelet, minikube Successfully pulled image "nginx:1.7.9"
    Normal Created 13m kubelet, minikube Created container
    Normal Started 13m kubelet, minikube Started container

    $ kubectl logs nginx-6bcd55cfd6-66cvh

    $ kubectl exec -it nginx-6bcd55cfd6-66cvh /bin/bash

    $ kubectl expose deploy nginx --type=NodePort --name=nginx --port=80

    $ kubectl scale deploy nginx --replicas=3

    $ kubectl set image deploy nginx nginx=nginx:1.9.1

    $ kubectl rollout status deploy nginx

    $ kubectl describe depoly nginx

    $ kubectl rollout history deploy nginx

    相关文章

    k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析

    相关文章

      网友评论

          本文标题:Minikube安装

          本文链接:https://www.haomeiwen.com/subject/fivyiftx.html