查看版本: kubectl version
查看节点信息: kubectl get node
通过yml文件创建pod kubectl create -f nginx.yml
删除 kubectl delete -f nginx.yml 或者 kubectl delete svc nginx-pod kubectl delete pod nginx
查看pods: kubectl get pods
kubectl get pods -o wide
进到pod中的container。默认是进入第一个container,可以通过-c参数指定其他container kubectl exec -it nginx sh kubectl exec -it -c 2 nginx sh
打印nginx这个pods的详细信息 kubectl describe pods nginx
如果要查看docker images 可以登录minikube minikube ssh
端口映射 kubectl port-forward mypod 8888:5000 如: kubectl port-forward nginx 8080:80 这其中8080为对外端口,80为nginx容器本身的端口。
kubectl get rs (查看replicaset)
kubectl get rc (查看ReplicationController)
rc的扩展,–replicas=2,这其中的2就是扩展数量: kubectl scale rc nginx –replicas=2
rs的扩展,–replicas=2,这其中的2就是扩展数量: kubectl scale rs nginx –replicas=2
kubectl get deployment
deployment 通过set image的方式升级nginx版本 kubectl set image deployment nginx-deployment nginx=nginx:1.13
查看deployment的历史记录: kubectl rollout history deployment nginx-deployment
把nginx回滚到之前到版本: kubectl rollout undo deployment nginx-deployment
把deployment的端口对外映射出去。 kubectl expose deployment nginx-deployment –type=NodePort
kubectl get services (kubectl get svc)
kubectl命令自动补全:
官网链接:https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion
使用Tectonic在本地搭建k8s集群 https://coreos.com/tectonic/docs/latest/tutorials/sandbox/install.html 通过下载vagrantfile文件,vagrant up命令启动Tectonic
vagrant up –provider=virtualbox
tectonic默认的配置文件路径: tectonic-sandbox-1.7.5-tectonic.1/provisioning/etc/kubernetes/kubeconfig
多个cluster之间切换: 编辑本地用户根目录的文件config: /Users/apple2/.kube/config config修改内容可以参考下一篇文章。
查看各个cluster的信息: kubectl config get-contexts
配置使用minikube这个cluster: kubectl config use-context minikube
从外部管理k8s集群的时候,要用admin.conf里的权限
创建service kubectl expose pods nginx-pod 查看service kubectl get svc
kubectl expose命令,会给pod创建一个service,供外部访问,默认情况下expose会创建一个ClusterIP\
要指定其他类型,用–type参数: kubectl expose pods nginx-pod –type=NodePort
删除服务 kubectl delete svc nginx-pod
kubectl get pod –show-labels
查看node的IP地址可以用describe: kubectl describe node nodename
service主要有四种类型: ClusterIP NodePort LoadBalancer ExternalName
LoadBalancer 外部平台会提供一个别名,别名自动做了端口转发。外部访问别名就可以访问到集群内部的对外服务。
ExternalName 通过返回 CNAME 和它的值,可以将服务映射到 externalName 字段的内容
kubectl expose pods nginx-pod –type=LoadBalancer
secret的创建格式: kubectl create secret generic NAME [–type=string] [–from-file=[key=]source] [–from-literal=key1=value1] 比如: kubectl create secret generic mysql-pass –from-literal=password=mysqlpassword 查看secret: kubectl get secret
![]() |
![]() |