kubernets1.10.1--基本操作(一)

Kubectl管理工具 在node節點部署

# 設置集羣項中名爲kubernetes的apiserver地址與根證書
kubectl config set-cluster kubernetes --server=https://192.168.1.107:6443 --certificate-authority=ca.pem
# 設置用戶項中cluster-admin用戶證書認證字段
kubectl config set-credentials cluster-admin --certificate-authority=ca.pem --client-key=admin-key.pem --client-certificate=admin.pem

# 設置環境項中名爲default的默認集羣和用戶
kubectl config set-context default --cluster=kubernetes --user=cluster-admin
# 設置默認環境項爲default
kubectl config use-context default

命令

create
通過文件名或標準輸入創建資源
expose
將一個資源公開爲一個新的Service
run
在集羣中運行一個特定的鏡像
set
在對象上設置特定的功能
get
顯示一個或多個資源    
explain
文檔參考資料。
edit
使用默認的編輯器編輯一個資源。
delete
通過文件名、 標準輸入、 資源名稱或標籤選擇器來刪除資源。
rollout
管理資源的發佈
rolling-update
對給定的複製控制器滾動更新
scale
擴容或縮容Pod數量, Deployment、 ReplicaSet、 RC或Job
autoscale
創建一個自動選擇擴容或縮容並設置Pod數量
certificate
×××資源
cluster-info
顯示集羣信息
top
顯示資源(CPU/Memory/Storage) 使用。 需要Heapster運行
cordon
標記節點不可調度
uncordon
標記節點可調度
drain
維護期間排除節點
taint

命令

describe
顯示特定資源或資源組的詳細信息
logs
在一個Pod中打印一個容器日誌。 如果Pod只有一個容器, 容器名稱是
可選的
attach
附加到一個運行的容器
exec
執行命令到容器
port-forward
轉發一個或多個本地端口到一個pod
proxy
運行一個proxy到Kubernetes API server
cp
拷貝文件或目錄到容器中
auth
檢查授權
apply
通過文件名或標準輸入對資源應用配置
patch
使用補丁修改、 更新資源的字段
replace
通過文件名或標準輸入替換一個資源
convert
不同的API版本之間轉換配置文件
label
更新資源上的標籤
annotate
更新資源上的註釋
completion
用於實現kubectl工具自動補全
api-versions
打印受支持的API版本
config
修改kubeconfig文件(用於訪問API, 比如配置認證信息)
help
所有命令幫助
plugin
運行一個命令行插件
version
打印客戶端和服務版本信息

1、創建
kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80
2、查看
kubectl get deploy
kubectl get pods --show-labels
kubectl get pods -l app=example
kubectl get pods -o wide
3、發佈
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
kubectl describe service nginx-service
4、故障排查
kubectl describe TYPE NAME_PREFIX
kubectl logs nginx-xxx
kubectl exec –it nginx-xxx bash
5、 更新
kubectl set image deployment/nginx nginx=nginx:1.13
or
kubectl edit deployment/nginx
資源發佈管理:
kubectl rollout status deployment/nginx
kubectl rollout history deployment/nginx
kubectl rollout history deployment/nginx --revision=3
kubectl scale deployment nginx --replicas=10
6、 回滾
kubectl rollout undo deployment/nginx-deployment
kubectl rollout undo deployment/nginx-deployment --to-revision=3
7、刪除
kubectl delete deploy/nginx
kubectl delete svc/nginx-service


YAML配置文件管理資源
配置文件說明:

  • 定義配置時,指定最新穩定版API(當前爲v1) ;
  • 配置文件應該存儲在集羣之外的版本控制倉庫中。如果需要,可以快速回滾配置、重新創建和恢復;
  • 應該使用YAML格式編寫配置文件,而不是JSON。儘管這些格式都可以使用,但YAML對用戶更加友好;
  • 可以將相關對象組合成單個文件,通常會更容易管理;
  • 不要沒必要的指定默認值,簡單和最小配置減少錯誤;
  • 在註釋中說明一個對象描述更好維護。
vim nginx-deployment.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.13
        ports:
        - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  type: NodePort

kubectl   create -f nginx-deployment.yml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章