当前位置: 移动技术网 > 科技>操作系统>Linux > Minikube-Kubernetes本地环境进行开发

Minikube-Kubernetes本地环境进行开发

2019年05月16日  | 移动技术网科技  | 我要评论

minikube-kubernetes本地环境进行开发

使用minikube

启动minikube

# 启动
minkube start

# 检查状态
minikube status

host: running
kubelet: running
apiserver: running
kubectl: correctly configured: pointing to minikube-vm at 192.168.99.100


# 访问面板
$ minikube dashboard

# 访问web前端
$ kubectl proxy

获取命名空间

# kubectl get namespaces
$ kubectl get ns
name              status   age
default           active   156m
kube-node-lease   active   156m
kube-public       active   156m
kube-system       active   156m

获取集群信息

$ kubectl cluster-info
kubernetes master is running at https://192.168.99.100:8443
kubedns is running at https://192.168.99.100: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 node

name       status   roles    age    version
minikube   ready    master   162m   v1.14.1

运行nginx

# 运行nginx
$ kubectl run nginx --image=nginx:1.16 --port=80 --labels="app=nginx,env=dev"

# 增加新标签
# kubectl label pod $pod_name app2=test

# 发布服务采用对外暴露节点
$ kubectl expose deployment nginx --type=nodeport

获取pods

$ kubectl get pods
# 根据标签查询
# kubectl get pods -l app=nginx

name                    ready   status    restarts   age
nginx-fcb945956-t8bqq   1/1     running   0          67s

# 获取pod详细信息
# kubectl describe pods -l app=nginx

查看pod日志

kubectl logs $pod_name

进入pod中

# 查看环境
# kubectl exec $pod_name env

$ kubectl exec -ti nginx-fcb945956-t8bqq /bin/bash

获取deployment

$ kubectl get deployment

name    ready   up-to-date   available   age
nginx   1/1     1            1           18m


# 获取描述
$ kubectl describe deployment

name:                   nginx
namespace:              default
creationtimestamp:      wed, 15 may 2019 23:29:23 +0800
labels:                 app=nginx
                        env=dev
annotations:            deployment.kubernetes.io/revision: 1
selector:               app=nginx,env=dev
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:  app=nginx
           env=dev
  containers:
   nginx:
    image:        nginx:1.16
    port:         8081/tcp
    host port:    0/tcp
    environment:  <none>
    mounts:       <none>
  volumes:        <none>
conditions:
  type           status  reason
  ----           ------  ------
  available      true    minimumreplicasavailable
  progressing    true    newreplicasetavailable
oldreplicasets:  <none>
newreplicaset:   nginx-fcb945956 (1/1 replicas created)
events:
  type    reason             age   from                   message
  ----    ------             ----  ----                   -------
  normal  scalingreplicaset  18m   deployment-controller  scaled up replica set nginx-fcb945956 to 1

获取svc(services)

# kubectl get svc
$ kubectl get services

name         type        cluster-ip      external-ip   port(s)        age
kubernetes   clusterip   10.96.0.1       <none>        443/tcp        3h8m
nginx        nodeport    10.105.192.17   <none>        80:31199/tcp   5m9s

# 获取详情
$ kubectl describe services

name:              kubernetes
namespace:         default
labels:            component=apiserver
                   provider=kubernetes
annotations:       <none>
selector:          <none>
type:              clusterip
ip:                10.96.0.1
port:              https  443/tcp
targetport:        8443/tcp
endpoints:         192.168.99.100:8443
session affinity:  none
events:            <none>


name:                     nginx
namespace:                default
labels:                   app=nginx
                          env=dev
annotations:              <none>
selector:                 app=nginx,env=dev
type:                     nodeport
ip:                       10.105.192.17
port:                     <unset>  80/tcp
targetport:               80/tcp
nodeport:                 <unset>  31199/tcp
endpoints:                172.17.0.5:80
session affinity:         none
external traffic policy:  cluster
events:                   <none>

使用minikube获取服务访问地址

# 获取服务url
$ minikube service nginx --url

# 访问测试
$ curl $(minikube service nginx --url)

删除服务

# kubectl delete deployments --all
$ kubectl delete deployments -l app=nginx

# kubectl delete pods --all
$ kubectl delete pods -l app=nginx

# 删除service
kubectl delete service -l app=nginx

停止minikube

minikube stop

参考

k8s官网文档

minikube - kubernetes本地实验环境

minikube:使用 kubernetes 进行本地开发

kubernetes基础:查看状态、管理服务

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网