Kubernetes(K 8 s)1.14.3常用操作コマンド
kubectl --help
このコマンドを実行すると、コマンドリストが表示されます.ここでは、私がよく使うコマンドのセットにすぎません.リソースの作成、サービスの作成、podなど
kubectl create -f rocketmq-rc.yml
fox.風
リソースの削除、サービスの作成、podの削除など
kubectl delete -f rocketmq-rc.yml
リソースファイルの削除なし
次の3つの操作が完了すると、リソースファイルのないpodは基本的にすべて削除できます.
サービス削除
先に表示
kubectl get service
次に削除
kubectl delete service xxxx
deployment削除
先に表示
kubectl get deployment
次に削除
kubectl delete deployment xxxx
rc削除
先に表示
kubectl get rc
次に削除
kubectl delete rc xxxx
pod削除後、ずっとterminating状態で、強制削除
rmqui-0はあなたのpodです
kubectl delete pod rmqui-0 --force --grace-period=0
kubectl delete pod rmqui-0 --force --grace-period=0 -n test
リソースの再構築、サービスの作成、podの変更など
kubectl replace --force -f rocketmq-rc.yml
注意:このコマンドは、実際には、
kubectl delete -f rocketmq-rc.yml
とkubectl create -f rocketmq-rc.yml
の組み合わせです.次のコマンドはリソースを更新しますが、少量のパラメータしか変更できません.少ないです.
kubectl replace -f rocketmq-rc.yml
再起動pod
rmqui-0はあなたのpod testを名前空間とします
kubectl get pod rmqui-0 -o yaml | kubectl replace --force -f -
kubectl get pod rmqui-0 -n test -o yaml | kubectl replace --force -f -
kubectl editリソースオブジェクトの編集
様々な
xx.yml
ファイルがある場合に使用されることは少なく、ymlファイルがない場合には、例えばservice
のmysql
関連パラメータを修正するために使用され、-o yaml
フォーマットに出力されるkubectl get service mysql -o yaml
その後、変更コマンドを実行します.
kubectl edit service mysql
以下の形式の臨時ファイルを開き、修正が完了したら、まずキーボードの左上隅
ESC
キーを押して、:wq
を入力して、保存を終了して、最後にEdit cancelled, no changes made.
を出力して保存アプリケーションに成功したと公式にも言いました.実際に使用しているvi
という編集ツール# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2019-06-14T02:42:00Z"
labels:
name: mysql
name: mysql
namespace: default
resourceVersion: "101235"
selfLink: /api/v1/namespaces/default/services/mysql
uid: fbf7881d-8e4d-11e9-9b60-4cedfbc99721
spec:
clusterIP: 10.1.97.58
externalTrafficPolicy: Cluster
ports:
- nodePort: 3306
port: 3306
protocol: TCP
targetPort: 3306
selector:
name: mysql
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
kubectl getリソースの表示
追加パラメータ
-o wide
出力追加ポイント情報-A
表示ネーミングスペース--show-labels
表示ラベルノードの表示
k 8 sを複数台使用する場合に使用
kubectl get node
podsリソースの表示
kubectl get pods
しゅつりょく
NAME READY STATUS RESTARTS AGE
elasticsearch-0 1/1 Running 3 27h
kibana-sz5nh 1/1 Running 1 27h
サービスの表示
kubectl get svc
kubectl get service
しゅつりょく
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch NodePort 10.1.70.10 <none> 9200:9200/TCP,9300:9300/TCP 27h
kibana NodePort 10.1.229.10 <none> 5601:5601/TCP 27h
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 2d5h
mysql NodePort 10.1.97.58 <none> 3306:3306/TCP 30h
replicationcontrollersの表示
kubectl get rc
しゅつりょく
NAME DESIRED CURRENT READY AGE
kibana 1 1 1 27h
mysql 1 1 1 30h
mysql-master 1 1 1 31h
componentstatusesの表示
kubectl get cs
しゅつりょく
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true"}
コンビネーションアウトプット
kubectl get svc,pod,cs,rc
pod,serviceなどの詳細表示
podの詳細を表示
これはよく使われますが、podの
STATUS
が長い間Running
状態ではない場合、コマンドで表示できます.例えば、ミラーの引き出しエラー、ディレクトリが存在しないなど、表示できます.kubectl describe pod elasticsearch-0
Elasticsearch-0は
kubectl get pod
リストのNAMEしゅつりょく
....
....
,
....
Volumes:
vol-logs:
Type: HostPath (bare host directory volume)
Path: /www/k8s/afm-data/elasticsearch/logs
HostPathType: Directory
vol-data:
Type: HostPath (bare host directory volume)
Path: /www/k8s/afm-data/elasticsearch/data
HostPathType: Directory
vol-plugins-analysis-ik:
Type: HostPath (bare host directory volume)
Path: /www/k8s/afm-data/elasticsearch/plugins/analysis-ik
HostPathType: Directory
vol-es:
Type: HostPath (bare host directory volume)
Path: /www/k8s/afm-data/elasticsearch/config/elasticsearch.yml
HostPathType: File
vol-synonyms:
Type: HostPath (bare host directory volume)
Path: /www/k8s/afm-data/elasticsearch/config/synonyms.txt
HostPathType: File
default-token-vh8lg:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-vh8lg
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
podの詳細を表示
kubectl describe svc elasticsearch
しゅつりょく
Name: elasticsearch
Namespace: default
Labels: app=elasticsearch
Annotations: <none>
Selector: app=elasticsearch
Type: NodePort
IP: 10.1.70.10
Port: elasticsearch9200 9200/TCP
TargetPort: 9200/TCP
NodePort: elasticsearch9200 9200/TCP
Endpoints: 10.244.0.121:9200
Port: elasticsearch9300 9300/TCP
TargetPort: 9300/TCP
NodePort: elasticsearch9300 9300/TCP
Endpoints: 10.244.0.121:9300
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
podログの表示
podのstdoutログの表示
kubectl logs elasticsearch-0
podのstdoutログの追跡
デフォルトではPodの1番目のコンテナを使用して実行されます
kubectl logs -f elasticsearch-0
追加パラメータ
-c
コンテナ名、特定のコンテナを指定できますpod内部に入る
デフォルトではPodの1番目のコンテナを使用して実行されます
kubectl exec -it elasticsearch-0 bash
追加パラメータ
-n
ネーミングスペース-c
コンテナ名、特定のコンテナを指定できます