1. 环境准备

安装nginx-ingress-controller和backend

cd /etc/yum.repos.d/mainfests

下载镜像的脚本 vi ingressnginx.sh

#!/bin/bash
images=(
nginx-ingress-controller:0.9.-beta.
defaultbackend:1.4) for imageName in ${images[@]} ; do
docker pull docker.io/chenliujin/$imageName
docker tag docker.io/chenliujin/$imageName gcr.io/google_containers/$imageName
docker rmi docker.io/chenliujin/$imageName
done

为了防止在执行 default-backend.yaml发现意外错误,在所有节点执行以下操作

docker pull docker.io/chenliujin/defaultbackend:1.4
docker tag docker.io/chenliujin/defaultbackend:1.4 gcr.io/google_containers/defaultbackend:1.4
docker rmi docker.io/chenliujin/defaultbackend:1.4

2. 下载必需的yaml文件并执行

cd /home/k8s/ingressimage

编写下载yaml的脚本  vi downimages.sh

for file in namespace.yaml configmap.yaml rbac.yaml tcp-services-configmap.yaml with-rbac.yaml udp-services-configmap.yaml default-backend.yaml;
do wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.17.0/deploy/$file; done

kubectl apply -f namespace.yaml

kubectl get ns

kubectl apply -f ./

kubectl get pods -n ingress-nginx --show-labels

3. 编写测试文件

cd /home/k8s/ingress   vi deploy-demo.yaml

apiVersion: v1
kind: Service
metadata:
name: myapp
namespace: default
spec:
selector:
app: myapp
release: canary
ports:
- name: http
targetPort:
port:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy
namespace: default
spec:
replicas:
selector:
matchLabels:
release: canary
template:
metadata:
labels:
app: myapp
release: canary
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v2
ports:
- name: http
containerPort:

kubectl apply -f deploy-demo.yaml

kubectl get svc

kubectl get pods

cd /home/k8s/ingresstest

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.17.0/deploy/provider/baremetal/service-nodeport.yaml

修改其中的内容为

apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port:
targetPort:
protocol: TCP
nodePort:
- name: https
port:
targetPort:
protocol: TCP
nodePort:
selector:
app: ingress-nginx

kubectl apply -f service-nodeport.yaml

最后访问在浏览器访问:http://47.102.46.176:30080/   如果出现  default backend - 404 表示成功

4. 通过修改域名访问

vi ingress-myapp.yaml
# 内容是
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-myapp
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: myapp.klvchen.com
http:
paths:
- path:
backend:
serviceName: myapp
servicePort: # 创建 ingress
kubectl apply -f ingress-myapp.yaml # 查看 ingress
kubectl get ingress # 查详细信息 ingress
kubectl describe ingress ingress-myapp # 通过修改 host 可以通过域名访问,修改 hosts 文件,添加下面记录
192.168.0.205 myapp.klvchen.com # 访问 http://myapp.klvchen.com:30080/

k8s安装ingress的更多相关文章

  1. Kubernetes用Helm安装Ingress并踩一下使用的坑

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Ingress是Kubernetes一个非常重要的Controller,它类似一个路由转发的组件,可以让外界访问Kubern ...

  2. k8s 安装文档

    k8s 安装文档 1.5 http://blog.csdn.net/bobpen/article/details/78958675

  3. [转帖]理解k8s 的 Ingress

    理解k8s 的 Ingress https://www.jianshu.com/p/189fab1845c5/ 暴露一个http服务的方式 service 是 k8s 暴露http服务的默认方式, 其 ...

  4. k8s 安装 istio 的坑

    本文针对于二进制部署的k8s安装istio1.67版本 没有设置admin.conf的小伙伴请参考 https://www.cnblogs.com/Tempted/p/13469772.html 1. ...

  5. Kubernetes K8S之Ingress详解与示例

    K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...

  6. 容器编排系统k8s之Ingress资源

    前文我们了解了k8s上的service资源的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14161950.html:今天我们来了解下k8s上的In ...

  7. k8s 执行 ingress yaml 文件报错: error when creating "ingress-myapp.yaml": Internal error occurred: failed calling webhook

    k8s 执行 ingress yaml 文件报错:错误如下: [root@k8s-master01 baremetal]# kubectl apply -f ingress-test.yaml Err ...

  8. docker k8s安装

    docker安装 删除依赖包 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docke ...

  9. 使用helm安装ingress,实现用域名的方式访问k8s内部应用

    k8s集群版本 k8s集群版本是1.22 提前部署好nginx服务和创建好svc deployment方式部署的nginx服务,1个副本 创建的服务 通过服务可以代理到nginx服务 curl 10. ...

随机推荐

  1. currency

    currency 美 ['kʌrənsi]   英 ['kʌrənsi]   n.货币:通货:通用:流行 网络流通:货币型:币种

  2. LF: 换行,U+000A VT: 垂直定位,U+000B FF: 换页符,U+000C CR: 回车符,U+000D CR+LF:CR(U+000D)后跟LF(U+000A) NEL: 下一行,U+0085 LS: 分行,U+2028 PS: 分段,U+2029

    https://zh.wikipedia.org/wiki/換行 换行(英语:newline.line ending.end-of-line (EOL).line Feed (LF).line bre ...

  3. centos sqlite3安装及简单命令

    安装:方法一:wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gztar xvzf sqlite-autoconf-3070500.tar ...

  4. Quartz Configuration Reference

    Quartz Configuration Reference Choose a topic: Main Configuration (configuration of primary schedule ...

  5. Hibernate Persistence Contexts

    Hibernate ORM 5.2.18.Final User Guidehttps://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/ ...

  6. netty5客户端监测服务端断连后重连

    服务端挂了或者主动拒绝客户端的连接后,客户端不死心,每15秒重连试试,3次都不行就算了.修改下之前的客户端引导类(NettyClient,参见netty5心跳与业务消息分发实例),新增两个成员变量,在 ...

  7. 手机wifi连上Fiddler后无网络问题解决

    早上老板交代一个任务,对一款app抓包分析下接口调用的时延.我的重新打开了一年多前用过的Fiddler(参见win10笔记本用Fiddler对手机App抓包),拿过测试手机开始设置wifi代理地址和端 ...

  8. Linux系统调优——CPU(一)

    (1).系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况:  CPU -> MEM  -& ...

  9. 使用meta跳转页面

    <Meta http-equiv="Refresh" Content="3; Url=http://www.baidu.com">

  10. html的输出&,空格,大小于号

    最近定做安装程序,因为这次定做名字里有&符号,用微软的txt文本打开配置文件,在配置文件里修改了名称,名称在文本里显示正常,但是定做出来后,发现&符号变成了_下划线,在本来的& ...