Kubernetes(k8s)1.16.4部署 nginx-ingress 0.30
16lz
2021-02-15
下载Ingress-Nginx-0.30.0
https://github.com/kubernetes/ingress-nginx
docker pull registry.cn-beijing.aliyuncs.com/google_registry/nginx-ingress-controller:0.30.0docker tag 89ccad40ce8e quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0docker rmi registry.cn-beijing.aliyuncs.com/google_registry/nginx-ingress-controller:0.30.0
创建文件夹下载nginx-ingress包
mkdir ingress-nginx-0.30cd ingress-nginx-0.30wget https://github.com/kubernetes/ingress-nginx/archive/nginx-0.30.0.tar.gztar xf nginx-0.30.0.tar.gzcp -a ingress-nginx-nginx-0.30.0/deploy/static/mandatory.yaml ./
vim mandatory.yaml 修改ingress的yaml:#191行apiVersion: apps/v1kind: DaemonSet # 从Deployment改为DaemonSetmetadata: name: nginx-ingress-controller namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginxspec: #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.yamlkubectl get pod -n ingress-nginx -o wide
创建第一个服务
vim deply_service1.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: myapp-deploy1 namespace: defaultspec: 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: v1kind: Servicemetadata: name: myapp-clusterip1 namespace: defaultspec: type: ClusterIP # 默认类型 selector: app: myapp release: v1 ports: - name: http port: 80 targetPort: 80
kubectl apply -f deply_service1.yaml
kubectl get deploy -o widekubectl get rs -o widekubectl get pod -o wide --show-labelskubectl get svc -o wide curl 10.244.2.***/hostname.html
创建第二个服务
vim deply_service2.yaml apiVersion: apps/v1kind: Deploymentmetadata: name: myapp-deploy2 namespace: defaultspec: 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: v1kind: Servicemetadata: name: myapp-clusterip2 namespace: defaultspec: 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.yamlapiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: name: nginx-http namespace: defaultspec: 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
©著作权归作者所有:来自51CTO博客作者李佳良的原创作品,如需转载,请注明出处,否则将追究法律责任浏览器访问test.demo1.com
浏览器访问test.demo2.com
你的鼓励让我更有动力
赞赏
0人进行了赞赏支持
更多相关文章
- 服务主数据的创建和特性的维护
- BADI Copy PR item text to PO when ME21N
- BAPI_GOODSMVT_CREATE物料凭证创建与部分冲销
- PO text copy rules :copy PR item text to PO
- 创建采购申请(BAPI_REQUISITION_CREATE / BAPI_PR_CREATE)
- SAP盘点:创建盘点凭证BAPI_MATPHYSINV_CREATE_MULT
- SE75 采购申请创建抬头文本
- NUMA架构下的内存访问延迟区别!
- 实际测试内存在顺序IO和随机IO时的访问延时差异