命令

描述

kubeadm init \

--apiserver-advertise-address=192.168.43.23 \

--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \

--kubernetes-version v1.19.0 \

--service-cidr=10.96.0.0/16 \

--pod-network-cidr=10.244.0.0/16 \

--ignore-preflight-errors=all

初始化master

# service-cidr: service的网段

# pod-network-cidr: pod的网段

也可以通过配置文件的方式初始化

kubeadm join 192.168.43.23:6443 --token el5q0h.ol84kidb0fhlusp9 \

--discovery-token-ca-cert-hash sha256:dae5c056947982c4e5463a4e450786ab248e88e91ee45b2a7bf8dba44dad22e2

[node]节点执行,加入到master中

kubectl ... -n ms

命令参考地址:http://docs.kubernetes.org.cn/683.html

-n ms 命名空间为ms

kubectl apply -f dashboard.yaml

应用并刷新yaml文件中的控制器、service等

kubectl create namespace ms

创建命名空间

kubectl expose deployment xxl-admin --port=80 --target-port=80 --type=NodePort

使用Service暴露服务:

--port=80 k8s集群内部可以访问这个应用的端口。通过节点ip和此端口,来访问此应用

--target-port=80 容器pod里面提供服务的端口,如nginx是80,tomcat是8080

--type=NodePort 暴露到集群外部的端口

kubectl create deployment xxl-admin --image=chenchg/xxl-admin --replicas=3

通过命令行创建Deployment

kubectl create deployment xxl-admin --image=chenchg/xxl-admin --replicas=3 --dry-run -o yaml > web.yaml

--dry-run 尝试运行,但实际不会创建控制器

-o yaml > web.yaml 将当前通过命令行的方式用yaml文件导出来,存储在web.yaml中

kubectl get nodes

[master]获取节点信息

kubectl get pods,service

获取Pods容器、service暴露信息。-n 限定命名空间

kubectl get endpoints -n ms

查看service关联的pod容器ip地址

kubectl get pod,svc,ep

同时查看三个信息:svc同service,ep同endpoints

kubectl exec -ti <POD NAME> -n <NAMESPACE> -- /bin/sh

进入k8s容器

如:kubectl exec -ti ccg-dkdemo-646b599f6c-6cn48 -- /bin/sh

$ tail -200f /data/applogs/ccg-log/dkdemo.log

$ exit #退出容器

kubectl scale deployment <DEPLOYMENT NAME> --replicas=6

命令行,扩容

kubectl set image deployment <DEPLOYMENT NAME> <CONTAINER NAME>=<IMAGE NAME>:1.1.0 --record=true

发布升级

eg: kubectl set image deployment ccg-dkdemo ccg-dkdemo=chenchg/ccg-dkdemo:1.1.0 --record=true

<DEPLOYMENT NAME> 对应yaml中的deployment的name

<CONTAINER NAME> 对应yaml中container中的name

<IMAGE NAME> 对应yaml中container中的imagename

kubectl rollout undo deployment/web

回滚到上一个版本

kubectl rollout undo deployment/web to --to-verision=2

回滚到指定版本

journalctl -u kubelet

查看kubelet日志

kubectl describe deployment web -n ms

查看控制器日志

kubectl describe pod xxl-admin-8467776cb9-xb6lc

查看pod信息。

当前pod指向哪个node信息:

Normal Scheduled 9m41s default-scheduler Successfully assigned default/ccg-dkdemo-84c6f7cfd9-5zvpg to node1

kubectl logs <POD NAME>

查看pod容器的日志,如:

kubectl logs xxl-admin-8467776cb9-cb6zz

kubectl delete deployment <DEPLOYMENT NAME>

kubectl delete deployment <DEPLOYMENT NAME1> <DEPLOYMENT NAME2>

删除deployment控制器,如 kubectl delete deployment xxl-admin

删除多个Deployment控制器

kubectl delete service <SERVICE NAME>

删除service

kubectl delete service xxl-admin

kubectl delete -f yamls/web.yaml

删除yaml文件中所有的deployment和service

kubectl delete pod <POD NAME>

kubectl delete pod <POD NAME> --force

删除pod后,deployment控制器会发现没有了,又会再次生成pod。所以直接删除pod没有用。

可用于pod创建失败时,状态一直是Terminating,可使用此删除。--force强制删除

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐