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. AXURE RP8 - 实战手册 网站和APP原型制作案例精粹

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主    

  2. Java 13 特性解读

    Java 13 特性解读    转 https://blog.csdn.net/bjweimengshu/article/details/100978383   2017年8月,JCP执行委员会提出将 ...

  3. MD5Encrypt加密

    package utils; import java.security.MessageDigest; public class MD5Encrypt { public MD5Encrypt() { } ...

  4. CM记录-CDH部署手册

    1.安装环境和软件准备 CentOS release 7.4 JDK1.8.0_121 mysql-connector-java-5.1.40-bin.jar CDH-5.10.2-1.cdh ...

  5. 123457123457#0#----com.ppGame.YinYu45--前拼后广--儿童yinyu-pp

    com.ppGame.YinYu45--前拼后广--儿童yinyu-pp

  6. mybatis 枚举typeHandler

    枚举typeHandler 在绝大多数情况下,typeHandler因为枚举而使用,MyBatis已经定义了两个类作为枚举类型的支持,这两个类分别是: •EnumOrdinalTypeHandler. ...

  7. Python - Django - 命名 URL 和反向解析 URL

    命名 URL: test.html: <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  8. SQL Server判断对象是否存在

    1 判断数据库是否存在 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exis ...

  9. angular2-cookie 如何升级到 ngx-cookie

    angular2-cookie 如何升级到  ngx-cookie https://github.com/salemdar/angular2-cookie#readme

  10. 10点睛Spring MVC4.1-全局异常处理

    10.1 全局异常处理 使用@ControllerAdvice注解来实现全局异常处理; 使用@ControllerAdvice的属性缩小处理范围 10.2 演示 演示控制器 package com.w ...