k8s 知识

命令

 

Pod 管理

kubectl get pods

查看pod在哪个node上

kubectl get pods -o wide 

kubectl describe pod pod_name

创建新的pod, 如果直接用命令

kubectl run nginx -image nginx

kubectl run custom-nginx --image=nginx --port=8080

创建新的pod, 如果用yml文件,命令用create 或者 apply

kubect apply -f pod.yml

kubectl create -f pod.yml

创建 yml

kubectl run redis --image=redis123 --dry-run=client -o yaml > redis-definition.yaml

修改pod

 Update the pod-definition file and use kubectl apply command or use kubectl edit pod redis command. (edit改的是内存,不改文件)

 

删除pod 

kubectl delete pod webapp

查看pod 详细信息

> kubectl -n spark2 get pods

想知道更详细信息比如 IP 信息,加 -owide

> kubectl -n spark2 get pods -owide

 

ReplicaSet 管理

修改ReplicaSet yml文件里面的replicas 数目,然后 kubectl replace -f replicaset-definition.yml

或者用下面任意一种scale命令 (NOTE:这种没有改变文件内容)

kubectl scale --replicas=6 -f replicaset-definition.yml

kubectl scale --replicas=6 replicaset myapp-replicaset

 

如果对yml 文件的格式和内容不清楚,可以用explain 查看。

kubectl explain replicaset 

 

Deployment

 Deployment 和 replicaset 看着差不多,deployment 比replicaset 多创建一个deployment object.

 

kubectl create deployment webapp --image=kodekloud/webapp-color --replicas=3 

kubectl create deployment redis-deploy --image=redis --replicas=2 -n dev-ns

 

Service

有三种类型的service type: NodePort, ClusterIP, LoadBalancer

NodePort definition.

 

 

Create a service redis-service to expose the redis application within the cluster on port 6379. Use imperative commands.

kubectl expose pod redis --port=6379 --name redis-service

kubectl run httpd --image=httpd:alpine --port=80 --expose

 

NameSpace

kubectl create namespace dev-ns

posted @ 2020-05-14 16:05  mashuai_191  阅读(99)  评论(0编辑  收藏  举报