第四章和第六章ingress-nginx冲突了吧
来源:4-3 用kubespray一键部署生产级k8s集群
weixin_慕圣2119594
2022-01-12
在第四章4-3视频中 使用kubespray自动部署 已经生成了ingress-nginx的pod 但是使用daemon来控制的。
第六章6-6中又手动部署了一遍ingress-nginx,而且设置了networkhost。
我理解这两个操作有一个就可以了吧?
1.如果想修改第四章中的ingres-nginx改为第六章中的networkhost 应该修改那个配置文件呢?具体该怎么操作?
2.第四章自动生成的没有default-http-backend这个服务 是否有影响 有什么区别呢?
3.如果想实现第六章的操作是否要删除第四章中的Daemon Sets?
4.不知道是不是因为冲突的原因现在第六章的controller报找不到合适的节点和端口
0/4 nodes are available: 4 node(s) didn't have free ports for the requested pod ports.
但是我已经配置了node3节的lable app=ingress
同时node3的80端口是空闲的 在yaml里也配置了nodeselector app: ingress
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-ingress-controller
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
template:
metadata:
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
annotations:
prometheus.io/port: "10254"
prometheus.io/scrape: "true"
spec:
serviceAccountName: nginx-ingress-serviceaccount
hostNetwork: true
nodeSelector:
app: ingress
containers:
- name: nginx-ingress-controller
image: registry.cn-qingdao.aliyuncs.com/kubernetes_xingej/nginx-ingress-controller:0.19.0
args:
- /nginx-ingress-controller
- --default-backend-service=$(POD_NAMESPACE)/default-http-backend
- --configmap=$(POD_NAMESPACE)/nginx-configuration
- --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
- --udp-services-configmap=$(POD_NAMESPACE)/udp-services
- --publish-service=$(POD_NAMESPACE)/ingress-nginx
- --annotations-prefix=nginx.ingress.kubernetes.io
securityContext:
capabilities:
drop:
- ALL
add:
- NET_BIND_SERVICE
# www-data -> 33
runAsUser: 33
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- name: http
containerPort: 80
求老师加个微信,要学哭了。。。
1回答
-
是的,kubespray默认部署了ingress-nginx,使用kubespray部署的集群就可以跳过后面专门部署ingress的章节了。
或者删掉kubespray默认的ingress-nginx,删除的方法很简单,kubectl get all一下看看有啥,都删了(每种资源的依赖关系可以自己在删除过程中体会)
关于这个错误:“4 node(s) didn't have free ports for the requested pod ports.”提示的很明显啦,肯定是你部署两套ingress-nginx端口冲突了吧?删掉一个就好
032022-01-14
相似问题