Minikube安装

由于网络限制,无法连接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:
Host Port:
Environment:
Mounts:
Volumes:
Conditions:
Type Status Reason


Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets:
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:
Host Port:
Environment:
Mounts:
Volumes:
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:
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:
Host Port:
State: Running
Started: Tue, 21 Aug 2018 15:02:11 +0800
Ready: True
Restart Count: 0
Environment:
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:
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安装)