k 8 s kubectlコマンド用法セット
23746 ワード
KUBECTLコマンド使用
kubectlはすべてのflagに略称があるかどうかを確認します
すべてのネーミングスペースを表示
すべてのネーミングスペースのpod情報を表示
ネーミングスペースのpod情報の表示
あるネーミングスペースのpod,svc,ep,secret情報を表示する
クラスタ情報の表示
podの詳細を表示
podのlogログ情報を表示
すべての登録済みノード情報の表示
k 8 sすべてのサービス・エンドのすべてのコンポーネントのステータスが正常かどうかを確認します.
既存corednsのdeploymentを拡張
作成したsvcの更新
注意:editコマンドでは、コマンドラインツールを使用して取得したリソースを直接編集できますが、編集エラーが発生した場合は、保存中にエラーが表示されます.以下のように、/tmpディレクトリの下に一時ファイルを生成します.実際には、変更に成功しました.
クベルネッツ・ダッシュボードのNodePortをキャンセルします
podsのすべてのラベルを表示
ラベルに基づいてpodsを表示する
ミラーのスクロール更新
または
configmap構成
ファイルをconfigmapの使用法として定義する
興味があるかもしれません
kubectlはすべてのflagに略称があるかどうかを確認します
#kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
limitranges limits true LimitRange
namespaces ns false Namespace
nodes no false Node
persistentvolumeclaims pvc true PersistentVolumeClaim
persistentvolumes pv false PersistentVolume
pods po true Pod
podtemplates true PodTemplate
replicationcontrollers rc true ReplicationController
resourcequotas quota true ResourceQuota
secrets true Secret
serviceaccounts sa true ServiceAccount
services svc true Service
mutatingwebhookconfigurations admissionregistration.k8s.io false MutatingWebhookConfiguration
validatingwebhookconfigurations admissionregistration.k8s.io false ValidatingWebhookConfiguration
customresourcedefinitions crd,crds apiextensions.k8s.io false CustomResourceDefinition
apiservices apiregistration.k8s.io false APIService
controllerrevisions apps true ControllerRevision
daemonsets ds apps true DaemonSet
deployments deploy apps true Deployment
replicasets rs apps true ReplicaSet
statefulsets sts apps true StatefulSet
tokenreviews authentication.k8s.io false TokenReview
localsubjectacce***eviews authorization.k8s.io true LocalSubjectAcce***eview
selfsubjectacce***eviews authorization.k8s.io false SelfSubjectAcce***eview
selfsubjectrulesreviews authorization.k8s.io false SelfSubjectRulesReview
subjectacce***eviews authorization.k8s.io false SubjectAcce***eview
horizontalpodautoscalers hpa autoscaling true HorizontalPodAutoscaler
cronjobs cj batch true CronJob
jobs batch true Job
certificatesigningrequests csr certificates.k8s.io false CertificateSigningRequest
leases coordination.k8s.io true Lease
events ev events.k8s.io true Event
daemonsets ds extensions true DaemonSet
deployments deploy extensions true Deployment
ingresses ing extensions true Ingress
networkpolicies netpol extensions true NetworkPolicy
podsecuritypolicies psp extensions false PodSecurityPolicy
replicasets rs extensions true ReplicaSet
networkpolicies netpol networking.k8s.io true NetworkPolicy
poddisruptionbudgets pdb policy true PodDisruptionBudget
podsecuritypolicies psp policy false PodSecurityPolicy
clusterrolebindings rbac.authorization.k8s.io false ClusterRoleBinding
clusterroles rbac.authorization.k8s.io false ClusterRole
rolebindings rbac.authorization.k8s.io true RoleBinding
roles rbac.authorization.k8s.io true Role
priorityclasses pc scheduling.k8s.io false PriorityClass
storageclasses sc storage.k8s.io false StorageClass
volumeattachments storage.k8s.io false VolumeAttachment
すべてのネーミングスペースを表示
#kubectl get ns
NAME STATUS AGE
default Active 7d23h
kube-public Active 7d23h
kube-system Active 7d23h
すべてのネーミングスペースのpod情報を表示
#kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-779dfc4d59-6q6ks 1/1 Running 0 3d19h
kube-system coredns-779dfc4d59-996fz 1/1 Running 0 3d19h
kube-system coredns-779dfc4d59-gs8sm 1/1 Running 0 3d20h
kube-system kubernetes-dashboard-66bddbb896-sjg92 1/1 Running 0 43h
ネーミングスペースのpod情報の表示
#kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
coredns-779dfc4d59-6q6ks 1/1 Running 0 3d19h 10.10.62.2 172.16.0.8
coredns-779dfc4d59-996fz 1/1 Running 0 3d19h 10.10.2.2 172.16.0.10
coredns-779dfc4d59-gs8sm 1/1 Running 0 3d20h 10.10.54.2 172.16.0.9
kubernetes-dashboard-66bddbb896-sjg92 1/1 Running 0 43h 10.10.62.3 172.16.0.8
あるネーミングスペースのpod,svc,ep,secret情報を表示する
#kubectl get pod,svc,ep,secret -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
pod/coredns-779dfc4d59-6q6ks 1/1 Running 0 3d19h 10.10.62.2 172.16.0.8
pod/coredns-779dfc4d59-996fz 1/1 Running 0 3d19h 10.10.2.2 172.16.0.10
pod/coredns-779dfc4d59-gs8sm 1/1 Running 0 3d20h 10.10.54.2 172.16.0.9
pod/kubernetes-dashboard-66bddbb896-sjg92 1/1 Running 0 43h 10.10.62.3 172.16.0.8
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
service/kube-dns ClusterIP 169.169.0.2 53/UDP,53/TCP 3d20h k8s-app=kube-dns
service/kubernetes-dashboard NodePort 169.169.1.125 443:40487/TCP 43h k8s-app=kubernetes-dashboard
NAME ENDPOINTS AGE
endpoints/kube-controller-manager 7d23h
endpoints/kube-dns 10.10.2.2:53,10.10.54.2:53,10.10.62.2:53 + 3 more... 3d20h
endpoints/kube-scheduler 7d23h
endpoints/kubernetes-dashboard 10.10.62.3:8443 43h
NAME TYPE DATA AGE
secret/admin-token-wbjtp kubernetes.io/service-account-token 3 42h
secret/coredns-token-lxsg5 kubernetes.io/service-account-token 3 3d20h
secret/default-token-b4jq9 kubernetes.io/service-account-token 3 7d23h
secret/kubernetes-dashboard-certs Opaque 0 43h
secret/kubernetes-dashboard-key-holder Opaque 2 43h
secret/kubernetes-dashboard-token-tbkh5 kubernetes.io/service-account-token 3 43h
クラスタ情報の表示
#kubectl cluster-info
Kubernetes master is running at https://172.16.0.100:6443
CoreDNS is running at https://172.16.0.100:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubernetes-dashboard is running at https://172.16.0.100:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
podの詳細を表示
#kubectl describe pod/kubernetes-dashboard-66bddbb896-sjg92 -n kube-system
podのlogログ情報を表示
#kubectl logs pod/kubernetes-dashboard-66bddbb896-sjg92 -n kube-system -f
-f: tail -f ,
すべての登録済みノード情報の表示
#root@:#kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
172.16.0.10 Ready 7d19h v1.12.0-rc.2 172.16.0.10 CentOS Linux 7 (Core) 3.10.0-862.14.4.el7.x86_64 docker://1.13.1
172.16.0.8 Ready 7d21h v1.12.0-rc.2 172.16.0.8 CentOS Linux 7 (Core) 3.10.0-862.14.4.el7.x86_64 docker://1.13.1
172.16.0.9 Ready 7d19h v1.12.0-rc.2 172.16.0.9 CentOS Linux 7 (Core) 3.10.0-862.14.4.el7.x86_64 docker://1.13.1
-o:
k 8 sすべてのサービス・エンドのすべてのコンポーネントのステータスが正常かどうかを確認します.
#root@:#kubectl get componentstatuses
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
etcd-2 Healthy {"health": "true"}
etcd-0 Healthy {"health": "true"}
etcd-1 Healthy {"health": "true"}
controller-manager Healthy ok
既存corednsのdeploymentを拡張
#root@:#kubectl get deploy -n kube-system
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
coredns 3 3 3 3 4d13h
kubernetes-dashboard 1 1 1 1 2d12h
#root@:#kubectl scale --replicas=3 deploy coredns -n kube-system
作成したsvcの更新
svc
#root@:#kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 169.169.0.2 53/UDP,53/TCP 4d21h
kubernetes-dashboard NodePort 169.169.1.125 443:40487/TCP 2d19h
svc
#root@:#kubectl edit service kubernetes-dashboard --namespace=kube-system
# 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: 2018-11-26T13:43:07Z
labels:
addonmanager.kubernetes.io/mode: Reconcile
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
name: kubernetes-dashboard
namespace: kube-system
resourceVersion: "827241"
selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard
uid: 350c790f-f181-11e8-94ca-5254f7a51592
spec:
clusterIP: 169.169.1.125
externalTrafficPolicy: Cluster
ports:
- nodePort: 40487 , -
port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
注意:editコマンドでは、コマンドラインツールを使用して取得したリソースを直接編集できますが、編集エラーが発生した場合は、保存中にエラーが表示されます.以下のように、/tmpディレクトリの下に一時ファイルを生成します.実際には、変更に成功しました.
"/tmp/kubectl-edit-hfgsa.yaml" 33L, 999C written
A copy of your changes has been stored to "/tmp/kubectl-edit-hfgsa.yaml"
error: Edit cancelled, no valid changes were saved.
クベルネッツ・ダッシュボードのNodePortをキャンセルします
root@:#kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 169.169.0.2 53/UDP,53/TCP 4d21h
kubernetes-dashboard NodePort 169.169.1.125 443:40487/TCP 2d20h
nodePort: 40487 -
type: NodePort
, ,
#root@:#kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 169.169.0.2 53/UDP,53/TCP 4d21h
kubernetes-dashboard ClusterIP 169.169.1.125 443/TCP 2d20h #type clusterip,nodepor ,
podsのすべてのラベルを表示
kubectl get pods --show-labels
ラベルに基づいてpodsを表示する
kubectl get pods -l app=nginx
ミラーのスクロール更新
kubectl set image deployment/nginx-deployment nginx=nginx:1.11
または
kubectl edit deployment/nginx-deployment
configmap構成
ファイルをconfigmapの使用法として定義する
tomcatr
root@:#ls
logging.properties server.xml
t tomcat-link configmap
root@:#kubectl create configmap tomcat-link --from-file=serverxml=server.xml --from-file=loggingproperties=logging.properties -n k8s-go
configmap/tomcat-link created
root@:#kubectl create configmap tomcat-link --from-file=logging.properties --from-file=server.xml
configmap/tomcat-link created
root@:#kubectl create configmap tomcat-link --from-file=tomcat-link
configmap/tomcat-link created
root@:#kubectl describe configmap tomcat-link |more
Name: tomcat-link
Namespace: default
Labels:
Annotations:
Data
====
loggingproperties:
----
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
........
serverxml:
----