Kubernetesの基礎

著作権:オリジナルの作品は、ソースを明記してください掲載しました!https://blog.csdn.net/sa19861211/article/details/90487995

1. kubeadmコマンド

1.1マスターノードクラスタ初期化Kubernetes

kubeadm init <args>

1.2クラスタにノードを追加します

kubeadm join

1.3リスト、トークンの作成と削除

kubeadm token

2. kubectlコマンド

ビューkubectlバージョン

kubectl version
  • ノード

クラスタノードの名前を取得するには

kubectl get nodes

1、ビューポッドの情報

kubectl get pod

図2は、特定のポッドの状態を表示します

kubectl get -f myapp.yaml

3、YAMLのポッドを見ます

kubectl get pods frontend-9si5l -o yaml

4.サービスを削除します。

kubectl delete services hello-minikube

5、展開を削除

kubectl delete deployment hello-minikube
  • 名前空間

図1に示すように、ポッドの指定されたコンテキスト情報を確認

kubectl get pods --context=minikube

2、クラスタの現在のネームスペースを示しています

kubectl get namespace

3、クエリコンテキストの設定

kubectl config view | grep namespace

何Kubernetesリソース(ない)名前空間を参照するには4、

kubectl api-resources --namespaced=true|false
  • セレクタ

フィールドセレクタフィルタポッドによれば1、

kubectl get pods --field-selector ""

2、すべてのKubernetesサービスの名前空間をデフォルトではない]を選択します

kubectl get services --field-selector metadata.namespace!=default
  • 初期コンテナ

1、初期化コンテナーのログを参照してください

kubectl logs myapp-pod -c init-mydb
  • cronジョブ

1.リストのすべてのジョブを

kubectl get jobs

2、cronジョブステータス情報を参照してください

kubectl get cronjob hello

3、ジョブの作成を待って観察します

kubectl get jobs --watch

4、cronジョブを削除

kubectl delete cronjob hello

5、現在のジョブ内のすべての名前空間を削除します

kubectl delete jobs --all

6、ジョブを削除

kubectl delete jobs/pi

若しくは

  kubectl delete -f ./job.yaml
  • さらにreplicaSet

1は、セットとその管理が定義されているポッドのレプリカを作成しますKubernetes frontend.yamlクラスタに提出されます

kubectl apply -f https://kubernetes.io/examples/controllers/frontend.yaml

図2は、展開レプリカセット情報を表示します

kubectl get rs

3、レプリカセットの状態をチェック

kubectl get rs
  • ReplicationController

1、状態チェックReplicationController

kubectl describe replicationcontrollers/nginx
  • 配備

図1に示すように、自動拡張

kubectl scale deployment nginx-deployment --replicas=10
  • サービス

1、サービス情報を参照してください

kubectl get svc my-nginx

2、サービスの説明を参照してください

kubectl describe svc my-nginx

3、ビューEndpoinit情報

kubectl get ep my-nginx
  • イングレス

1、イングレスの説明を参照してください

kubectl describe ingress simple-fanout-example

2、進入を編集

kubectl edit ingress test

若しくは

kubectl replace -f 修改后的Ingress yaml文件
  • ラベル

図1に示すように、ラベルは、ノードに取り付けられています。

kubectl label nodes <node-name> <label-key>=<label-value>

図2に示すように、ノードのチェックは、現在があるかどうか、それが有効であるかどうかを確認するためのタグ

kubectl get nodes --show-labels

図3に示すように、タグの完全なリストを表示する所与のノードは、
ノード「ノード名」を記述kubectl

  • 汚染さとTolerations

図1に示すように、ノードを汚染チェック

kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule
  • 秘密の

1は、シークレットを作成kubectl

#Create files needed for rest of example.
echo -n "admin" > ./username.txt
echo -n "1f2d1e2e67df" > ./password.txt
kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt

2、ビューの秘密

kubectl get secrets
kubectl get secret mysecret -o yaml

3、手動で作成の秘密

$ echo -n "admin" | base64
YWRtaW4=
$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm

secret.yamlファイル内のシークレット設定オブジェクト:

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm

シークレットを作成するコマンドを作成kubectl使用

kubectl create -f ./secret.yaml

パスワードフィールドをデコードします:

echo "MWYyZDFlMmU2N2Rm" | base64 --decode

おすすめ

転載: blog.csdn.net/sa19861211/article/details/90487995