『高階篇』docker之kubernetes基礎叢集命令小實戰(35)
下面我們就來試試看怎麼去操作,控制它。我們從最簡單的命令開始,嘗試一下kubernetes官方的入門教學:playground的內容。瞭解如何建立pod,deployments,以及檢視他們的資訊,深入理解他們的關係。原始碼:https://github.com/limingios/msA-docker k8s分支和https://github.com/limingios/kubernetes-starter 基礎叢集的搭建檢視32節到34節
kubernetes接觸命令
-
kubectl version
>檢視版本
-
kubectl get nodes
>檢視nodes
-
kubectl get pods
>檢視pods
-
拉取官方的映象
>記憶體有點低比較慢
kubectl run kubernetes-bootcamp --image=jocatalin/kubernetes-bootcamp:v1 --port=8080
- 檢視deploy的詳細資訊
kubectl describedeploy kubernetes-bootcamp
- 檢視pods的詳細資訊
kubectl describepods kubernetes-bootcamp-6b7849c495-xmmvh
-
如何訪問剛才那個8080埠因為它在103那臺機器上,可以通過apiserver的方式
>啟動2個視窗,一個視窗啟動代理命令,
kubectl proxy
然後操作另一個視窗
curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/kubernetes-bootcamp-6b7849c495-xmmvh/
-
擴縮容
>k8s會均勻的使用機器,不會存在一臺機器用的很多,一臺機器用的很少的情況。
#如果需要從2 變成1 直接還用這個命令 kubectl scale deploy kubernetes-bootcamp --replicas=2 #可以看到在102運行了一個例項,在103在運行了一個例項 kubectl get pods -o wide
-
升級映象
>目前狀態
kubectl describe deploy kubernetes-bootcamp
升級映象
#原來是v1升級為v2 kubectlset image deploy kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2 kubectl describe deploy kubernetes-bootcamp
deploy的狀態
kubectl rollout status deploy kubernetes-bootcamp
回滾映象
kubectl rollout undo deploy kubernetes-bootcamp #又變回v1了 kubectl describe deploy kubernetes-bootcamp
刪除deploy
kubectl delete deploy kubernetes-bootcamp
配置檔案
上邊用了比較多的命令了,老鐵消化吸收一下,當然一直使用命令管理叢集真的很不方便,當擁有大量的應用的時候很難勝任了,k8s也提供了配置檔案的方式來管理。跟swarm的有點類似吧。設計和功能上有點區別。
- yaml檔案建立pod
mkdir services cd services vi nginx-pod.yaml
nginx-pod.yaml 檔案
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
命令生成pod
kubectl create -f nginx-pod.yaml #檔案寫明的建立pod,就不可能建立deploy kubectl get deploy kubectl get pods -o wide
啟動代理嘗試訪問nginx
老套路,一個視窗啟動,一個視窗curl
#ip101啟動代理 kubectl proxy #ip101另一個視窗訪問 curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/nginx/
- 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
命令生成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
PS:常用的命令就說到這裡吧,下次繼續說說service和dns。
ofollow,noindex" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename=https://idig8.com/2018/11/11/gaojipiandockerzhikubernetesjichujiqunminglingxiaoshizhan35/">百度未收錄
>>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>>原文連結地址:上一篇:已是最新文章