Kubernetes(k8s)1.16.4部署 nginx-ingress 0.30
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Kubernetes(k8s)1.16.4部署 nginx-ingress 0.30,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3361字,纯文字阅读大概需要5分钟。
内容图文
下载Ingress-Nginx-0.30.0
docker pull registry.cn-beijing.aliyuncs.com/google_registry/nginx-ingress-controller:0.30.0
docker tag 89ccad40ce8e quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0
docker rmi registry.cn-beijing.aliyuncs.com/google_registry/nginx-ingress-controller:0.30.0
创建文件夹下载nginx-ingress包
mkdir ingress-nginx-0.30
cd ingress-nginx-0.30
wget https://github.com/kubernetes/ingress-nginx/archive/nginx-0.30.0.tar.gz
tar xf nginx-0.30.0.tar.gz
cp -a ingress-nginx-nginx-0.30.0/deploy/static/mandatory.yaml ./
vim mandatory.yaml
修改ingress的yaml:
#191行
apiVersion: apps/v1
kind: DaemonSet # 从Deployment改为DaemonSet
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 # 注释
#218行
nodeSelector:
kubernetes.io/hostname: k8s-master # 修改处
# 如下几行为新加行 作用【允许在master节点运行】
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
#251行
ports:
- name: http
containerPort: 80
hostPort: 80 # 添加处【可在宿主机通过该端口访问Pod】
protocol: TCP
- name: https
containerPort: 443
hostPort: 443 # 添加处【可在宿主机通过该端口访问Pod】
protocol: TCP
kubectl apply -f mandatory.yaml
kubectl get pod -n ingress-nginx -o wide
创建第一个服务
vim deply_service1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy1
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: myapp
release: v1
template:
metadata:
labels:
app: myapp
release: v1
env: test
spec:
containers:
- name: myapp
image: registry.cn-beijing.aliyuncs.com/google_registry/myapp:v1
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: myapp-clusterip1
namespace: default
spec:
type: ClusterIP # 默认类型
selector:
app: myapp
release: v1
ports:
- name: http
port: 80
targetPort: 80
kubectl apply -f deply_service1.yaml
kubectl get deploy -o wide
kubectl get rs -o wide
kubectl get pod -o wide --show-labels
kubectl get svc -o wide
curl 10.244.2.***/hostname.html
创建第二个服务
vim deply_service2.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy2
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: myapp
release: v2
template:
metadata:
labels:
app: myapp
release: v2
env: test
spec:
containers:
- name: myapp
image: registry.cn-beijing.aliyuncs.com/google_registry/myapp:v2
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: myapp-clusterip2
namespace: default
spec:
type: ClusterIP # 默认类型
selector:
app: myapp
release: v2
ports:
- name: http
port: 80
targetPort: 80
kubectl apply -f deply_service2.yaml
kubectl get pod -o wide --show-labels -l "release=v2"
kubectl get svc -o wide
创建ingress外部访问yaml
vim ingress-http.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-http
namespace: default
spec:
rules:
- host: test.demo1.com
http:
paths:
- path: /
backend:
serviceName: myapp-clusterip1
servicePort: 80
- host: test.demo2.com
http:
paths:
- path: /
backend:
serviceName: myapp-clusterip2
servicePort: 80
kubectl apply -f ingress-http.yaml
kubectl get ingress -o wide
修改windos
C:\WINDOWS\System32\drivers\etc\hosts
(k8s-master的ip) test.demo1.com test.demo2.com
浏览器访问test.demo1.com
浏览器访问test.demo2.com
内容总结
以上是互联网集市为您收集整理的Kubernetes(k8s)1.16.4部署 nginx-ingress 0.30全部内容,希望文章能够帮你解决Kubernetes(k8s)1.16.4部署 nginx-ingress 0.30所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。