k8s操作命令笔记 fangfu的技术博客

查看版本: 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

FFwechat FFalipay