天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
- 1. 命名空间namespace相关
- 1.1 创建命名空间
- 1.2 查询命名空间
- 2. 节点node相关
- 2.1 查看集群节点
- 2.2 查看节点健康状态
- 3. 容器pod相关
- 3.1 查看pods
- 3.2 删除pod
- 3.3 查看pod详细信息
- 3.4 查看pod描述信息
- 3.5 查看deployment的日志信息
- 3.6 查看问题pod
- 3.7 进入pod
- 3.8 退出pod
- 4. 持久化存储pvc相关
- 4.1 查看pvc
- 4.2 删除pvc
- 5. 服务svc相关
- 5.1 查看svc
- 5.2 删除svc
- 6. 查看全部服务
- 7. 部署服务
- 7.1 部署所有yml文件
- 7.2 部署某个yml文件
- 8. 初始化集群主节点命令
- 8.1 配置镜像列表
- 8.2 拉取镜像
- 8.3 初始化kubeadm
- 8.4 其他节点加入集群
- 8.5 生成join命令
- 8.6 重置kubeadm
- 8.6.1 重置kubeadm
- 8.6.2 移除文件
命令中使用到的一些自定义参数表示的含义如下
namespacename 命名空间名称
podname pod的名称
selectorname 指yaml中定义的selector参数的值
pvcname 表示pvc的名称
deploymentname 表示deployment的名称
svcname 表示service的名称
1. 命名空间namespace相关
1.1 创建命名空间
kubectl create namespace namespacename
如创建一个名为ns-sb的命名空间
kubectl create namespace ns-sb
1.2 查询命名空间
查看全部命名空间
kubectl get namespace -A
2. 节点node相关
2.1 查看集群节点
kubectl get nodes
2.2 查看节点健康状态
kubectl get cs
3. 容器pod相关
3.1 查看pods
查看所有pod
kubectl get pod -A
查看指定命名空间中的pod
kubectl get pods -n namespacename
如查看命名空间为ns-sb的所有pod
kubectl get pods -n ns-sb
3.2 删除pod
未设置副本数或者副本数设为0则可用常规删除命令
kubectl delete pod podname -n namespacename
若设置副本数大于等于1时,则需要删除deployment
kubectl delete deployment name -n namespacename
3.3 查看pod详细信息
查看pod的名称、状态、所在集群的ip、所在节点等信息
kubectl get pod -o wide -n namespacename
3.4 查看pod描述信息
查看所有pod的详细信息(包含日志信息)
kubectl describe pod -n namespacename
查看指定pod的详细信息(包含日志信息)
kubectl describe pod podname -n namespacename
3.5 查看deployment的日志信息
查看deployment的日志
kubectl logs deploymentname -n namespacename
3.6 查看问题pod
查看有问题的pod
kubectl get pods -l selectorname -n namespacename
注:selectorname 指yaml中定义的selector参数的值
3.7 进入pod
进入pod
kubectl exec -it podname -n namespacename -- /bin/bash
3.8 退出pod
退出pod
exit
4. 持久化存储pvc相关
4.1 查看pvc
查看全部pvc
kubectl get pvc -A
查看指定命名空间的pvc
kbuectl get pvc -n namespacename
4.2 删除pvc
kubectl delete pvc pvcname -n namespacename
5. 服务svc相关
即查看service
svc是service的缩写,两者都可用
5.1 查看svc
查看全部svc
kubectl get svc -A
查看指定命名空间的svc
kubectl get svc -n namespacename
5.2 删除svc
kubectl delete svc svcname -n namespacename
6. 查看全部服务
查看全部服务,包含可选pvc、deploy、pod、svc等,也可全选,如下
kubectl get pvc,deploy,pod,svc -A
7. 部署服务
7.1 部署所有yml文件
部署所有yml文件
kubectl apply -f .
7.2 部署某个yml文件
如部署当前文件夹gitlab-yaml下的redis.yml文件
kubectl apply -f ./gitlab-yaml/redis.yml
以下为拓展
8. 初始化集群主节点命令
初始化使用的是kubeadm命令
8.1 配置镜像列表
kubeadm config images list
指定版本
kubeadm config images list --kubernetes-version v1.23.0
8.2 拉取镜像
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
8.3 初始化kubeadm
kubeadm init \--apiserver-advertise-address=172.30.0.224 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.23.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--ignore-preflight-errors=all
–apiserver-advertise-address
集群通告地址(master 机器IP,这里用的万兆网)
–image-repository
由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
–kubernetes-version
K8s版本,与上面安装的一致
–service-cidr
集群内部虚拟网络,Pod统一访问入口,可以不用更改,直接用上面的参数
–pod-network-cidr
Pod网络,与下面部署的CNI网络组件yaml中保持一致,可以不用更改,直接用上面的参数
8.4 其他节点加入集群
加入集群节点的命令(包含token)在初始化完成时输出的内容中,复制保存使用即可
kubeadm join 172.30.0.224:6443 --token 4uhwg7.ldccrwsxmplqahbc \--discovery-token-ca-cert-hash sha256:cf6e896414b3d3169774b38f435d7789a1466c83064c173fc56537ba7e949e81
8.5 生成join命令
如果token过期或忘记加入集群的命令,使用以下命令生成新的加入集群命令(包含token)
kubeadm token create --print-join-command
8.6 重置kubeadm
如果初始化失败,或者需要重新初始化,可执行以下两个命令
8.6.1 重置kubeadm
kubeadm reset
8.6.2 移除文件
移除相关文件,不然会重置失败
sudo rm -fr ~/.kube/ /etc/kubernetes/* var/lib/etcd/*
代理访问dashboard
使用该命令可以将dashboard的服务定位到本机的8001端口
kubectl proxy
会输出Starting to serve on 127.0.0.1:8001
然后访问代理地址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
查看访问权限
kubectl auth can-i create deployments --namespace=kubernetes-dashboard
输出yes表示当前用户有权限创建deployments的权限,如果是no则表示没有权限
删除pod
感谢阅读,祝君暴富!