1、修改k8s集群的nodeport端口范围
可以解决创建svc过程中,导致的端口号范围限制错误:
root@k8s1:~# kubectl apply -f karmada-apiserver.yaml
The Service "karmada-apiserver-nodeport" is invalid: spec.ports[0].nodePort: Invalid value: 5443: provided port is not in the valid range. The range of valid ports is 30000-32767
修改配置文件kube-apiserver.yaml
vim /etc/kubernetes/manifests/kube-apiserver.yaml
在kube-apiserver对应的配置中添加下面一行
# 文件:/etc/kubernetes/manifests/kube-apiserver.yaml
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
namespace: kube-system
spec:
containers:
- command:
- kube-apiserver
# ... 其他已有参数 ...
- --service-node-port-range=3000-32767 # 修改这一行,将起始端口改为3000

2、导出yaml并且适当修改后部署
导出某个服务的yaml文件
kubectl get svc karmada-apiserver -n karmada-system -o yaml
一般我们都会对导出的yaml文件进行适当的变更,变更后再部署到k8s中
#部署
kubectl apply -f karmada-apiserver.yaml
3、获取某个pos的详细部署信息
kubectl get pods -n iot -o wide | grep mysql
mysql-7fdc4589c9-lx7tr 1/1 Running 0 3m58s 10.233.113.12 k8s21 <none> <none>
4、查看某个deployment对应的pod
kubectl get pods -l app=nfs-client-provisioner
5、查看pod所属的命名空间
kubectl get pods --all-namespaces | grep ingress
6、查看持续输出
kubectl get pods -l app=redis-cluster -w -n iot
-l:label selector(标签选择器)的简写app=redis-cluster:只选择具有标签app: redis-cluster的Pod- 这相当于过滤,只显示我们部署的Redis集群相关的Pod
7、删除全部pvc
kubectl delete pvc -n iot --all
8、运行busybox
kubectl run dns-test --rm -it --restart=Never --image=hb.xxxx.com/library/busybox:1.37 -n iot -- sh
#测试解析redis-master的hostname
nslookup redis-master
9、重启一些服务
kubectl rollout restart daemonset calico-node -n kube-system
kubectl rollout restart deployment karmada-controller-manager -n karmada-system