Minikube-Kubernetes本地環境進行開發


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基礎:查看狀態、管理服務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM