Kubernates提供声明式编程和命令式编程两种相对的高级编程概念
kubectl -h #查看支持的命令 --kubeconfig参数 指定连接Kubernetes集群的配置文件(支持远程连接)
kubectl 在
$HOME/.kube
目录下查找名为config
的文件。 您可以通过设置KUBECONFIG
环境变量或者设置--kubeconfig
参数来指定其他kubeconfig
文件,默认文件/etc/kubernetes/admin.conf
优先级--kubeconfig > KUBECONFIG 环境变量 > $HOME/.kube/config
kubectl create namespace test
kubectl get namespace #或者简写 kubectl get ns
kubectl get pod,service,deployment -n default
可以简写成:
kubectl get po,svc,deploy -n default
kubectl delete all --all -n default #空间不删除
#或者通过删除命名空间
kubectl delete namespace/ingress-nginx
kubectl run nginx-test --image=nginx -l app=nginx -n default
kubectl run nginx-test --image=nginx --expose=true --port=80 -l app=nginx -n default
kubectl create deployment nginx-dm --image=nginx -r 2 -n default
kubectl create service clusterip nginx-svc --image=nginx --tcp=8000:80 -n default
kubectl expose deployment nginx-dm --port=8000 --target-port=80 --name=nginx-http -n default
kubectl apply -f ./pod.yaml
cat ./pod.yaml | kubectl apply -f -
apply
如果资源不存在会创建,如果存在会自定对比更新
#先将副本调整0
kubectl scale deployment nginx-dm -n default --replicas=0
#再改回原副本数
kubectl scale deployment nginx-dm -n default --replicas=5
#重启
kubectl rollout restart deployment/nginx-dm -n default
#查看状态
kubectl rollout status deployment/nginx-dm -n default
#查看历史版本
kubectl rollout history deployment/nginx-dm -n default
#还原到上一个版本
kubectl rollout undo deployment/nginx-dm -n default #--to-revision=2 指定回滚的版本
kubectl get deploy/nginx-dm -o yaml -n default | kubectl replace -f- --force
kubectl exec nginx -it -n default -- /bin/bash
kubectl describe pod/nginx -n default
kubectl logs nginx -it -n default -- /bin/bash
#拷贝Pod中文件到宿主机
kubectl cp nginx:/tmp/foo /tmp/bar
#拷贝宿主机文件到Pod中
kubectl cp /tmp/foo nginx:/tmp/bar
#查看所有资源
kubectl api-resources
#查看位于名称空间的资源
kubectl api-resources --namespaced=true
kubectl config view
kubectl cluster-info
kubectl config set-context cxt-test --namespace=ns-test --user=kubernetes-admin --cluster=kubernetes-admin
kubectl config current-context
kubectl config use-context test
kubectl get po --show-labels -n default
kubectl label pods nginx run=nginx -n default
kubectl label pods nginx run=nginx-test --overwrite -n default
kubectl label pods nginx run-
kubectl label pods --all status=unhealthy -n default