k 8 s kubectlコマンド用法セット


KUBECTLコマンド使用
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:
----













アルファベットで分類:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他