溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

發布時間:2020-06-07 17:31:23 來源:網絡 閱讀:167 作者:IT人故事 欄目:云計算

原創文章,歡迎轉載。轉載請注明:轉載自IT人故事會,謝謝!
原文鏈接地址:『高級篇』docker之kubernetes基礎集群命令小實戰(35)

下面我們就來試試看怎么去操作,控制它。我們從最簡單的命令開始,嘗試一下kubernetes官方的入門教學:playground的內容。了解如何創建pod,deployments,以及查看他們的信息,深入理解他們的關系。源碼:https://github.com/limingios/msA-docker k8s分支和https://github.com/limingios/kubernetes-starter 基礎集群的搭建查看32節到34節

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

kubernetes接觸命令
  • kubectl version

    查看版本

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • kubectl get nodes

    查看nodes

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • kubectl get pods

    查看pods

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • 拉取官方的鏡像

    內存有點低比較慢

    
    kubectl run kubernetes-bootcamp --image=jocatalin/kubernetes-bootcamp:v1 --port=8080
![](https://upload-images.jianshu.io/upload_images/11223715-e83d0671839f03b9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- 查看deploy的詳細信息
``` bash
kubectl describe  deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • 查看pods的詳細信息

    kubectl describe  pods kubernetes-bootcamp-6b7849c495-xmmvh

    『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • 如何訪問剛才那個8080端口因為它在103那臺機器上,可以通過apiserver的方式

    啟動2個窗口,一個窗口啟動代理命令,

kubectl proxy   

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

然后操作另一個窗口

curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/kubernetes-bootcamp-6b7849c495-xmmvh/

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • 擴縮容

    k8s會均勻的使用機器,不會存在一臺機器用的很多,一臺機器用的很少的情況。

#如果需要從2 變成1 直接還用這個命令
kubectl scale deploy kubernetes-bootcamp --replicas=2
#可以看到在102運行了一個實例,在103在運行了一個實例
kubectl get pods -o wide

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • 升級鏡像

    目前狀態

kubectl describe deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

升級鏡像

#原來是v1升級為v2
kubectl  set image deploy kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
kubectl describe deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

deploy的狀態

kubectl rollout status deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

回滾鏡像

kubectl rollout undo deploy kubernetes-bootcamp
#又變回v1了
kubectl describe deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

刪除deploy

kubectl delete deploy kubernetes-bootcamp

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

配置文件

上邊用了比較多的命令了,老鐵消化吸收一下,當然一直使用命令管理集群真的很不方便,當擁有大量的應用的時候很難勝任了,k8s也提供了配置文件的方式來管理。跟swarm的有點類似吧。設計和功能上有點區別。

  • yaml文件創建pod
    mkdir services
    cd services
    vi nginx-pod.yaml

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

nginx-pod.yaml 文件

apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers: 
- name: nginx
image: nginx:1.7.9
ports: 
- containerPort: 80

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

命令生成pod

kubectl create -f nginx-pod.yaml
#文件寫明的創建pod,就不可能創建deploy
kubectl get deploy
kubectl get pods -o wide

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

啟動代理嘗試訪問nginx
老套路,一個窗口啟動,一個窗口curl

#ip101啟動代理
kubectl proxy
#ip101另一個窗口訪問
curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/nginx/

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

  • yaml文件創建deployment
    vi nginx-Deployment.yaml

    nginx-Deployment.yaml 文件

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
    name: nginx-deployment
    spec:
    replicas: 2
    template:
    metadata:
    labels:
    app: nginx
    spec:
    containers:
    - name: nginx
    image: nginx:1.7.9
    ports:
    - containerPort: 80

    『高級篇』docker之kubernetes基礎集群命令小實戰(35)

命令生成deployment

kubectl create -f nginx-Deployment.yaml
kubectl get deploy
kubectl get pods -o wide
kubectl get pods -l app=nginx
kubectl get pods -l app=nginx -o wide

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

PS:常用的命令就說到這里吧,下次繼續說說service和dns。

『高級篇』docker之kubernetes基礎集群命令小實戰(35)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女