k8s-配置ingress-nginx控制器

一、配置阿里云私人镜像库

1.开通阿里云容器镜像服务个人版

2.将阿里云镜像仓库和github账号绑定

3.配置github镜像仓库

3.1 创建镜像仓库

3.2 制作Dockerfile文件

创建镜像目录

创建Dockerfile文件

Dockerfile文件内容为

4.配置与构建镜像

4.1 设置镜像服务密码

4.2 创建命名空间

点击命名空间,然后点击左上角的创建命名空间
输入命名空间名字
创建完成后的界面

4.3 创建镜像仓库

点击镜像仓库,然后点击创建镜像仓库
选择命名空间,输入仓库名称。这里可以选择公开,也可以选择私有。选择私有后面需要登录镜像。
选择GitHub,选择github命名空间、仓库名,点击海外机器构建

4.4 构建

选择构建,点击添加规则
构建上下文目录是仓库下面目录的内容
点击立即构建,开始构建
构建成功以后就可以使用了

二、安装配置ingress-nginx

1.下载ingress-nginx.yaml文件

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.2/deploy/static/provider/cloud/deploy.yaml

2.修改yaml文件

2.1 修改镜像地址

有三处需要修改的地方,将镜像地址替换为自己私有源镜像地址即可。

root@master-1-151:~# cat deploy.yaml |grep image
        image: registry.cn-hangzhou.aliyuncs.com/i-kubernetes/controller:v1.1.2
        imagePullPolicy: IfNotPresent
        image: registry.cn-hangzhou.aliyuncs.com/i-kubernetes/kube-webhook-certgen:v1.1.1
        imagePullPolicy: IfNotPresent
        image: registry.cn-hangzhou.aliyuncs.com/i-kubernetes/kube-webhook-certgen:v1.1.1
        imagePullPolicy: IfNotPresent

2.2 更新外部ip

如果这里不配置ip的话,后续无法通过外部ip访问

删除下面的内容
externalTrafficPolicy:Local
然后在此位置配置外部ip,即节点的网络ip。
spec:
  externalIPs:
  - 192.168.1.151
  - 192.168.1.152
  - 192.168.1.153
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack

3.登陆私有镜像库

3.1 因为配置的私有镜像库,所以需要登陆。每个节点执行

docker login --username=xxxx@xx.com registry.cn-hangzhou.aliyuncs.com

3.2 下载镜像,一定要有这步。不知道是因为修改了镜像地址,还是因为其他原因。如果不在节点下载镜像,会无法创建成功。

docker pull registry.cn-hangzhou.aliyuncs.com/i-kubernetes/kube-webhook-certgen:v1.1.1 
docker pull registry.cn-hangzhou.aliyuncs.com/i-kubernetes/controller:v1.1.2

4.安装

kubectl apply -f deploy.yaml

5.查看安装是否成功

root@master-1-151:~# kubectl get pods --namespace=ingress-nginx
NAME                                        READY   STATUS      RESTARTS   AGE
ingress-nginx-admission-create-dw7x4        0/1     Completed   0          46m
ingress-nginx-admission-patch-88xlz         0/1     Completed   1          46m
ingress-nginx-controller-595b7d4844-zlq4m   1/1     Running     0          46m

三、参考文章

使用阿里云镜像服务来代理k8s镜像

Kubernetes 部署配置 Ingress

Kubernetes—Ingress 安装部署

Google Container Registry Mirror(Google Container Registry镜像加速)

四、视频

1.github配合阿里云容器镜像服务制作k8s镜像

2.k8s安装nginx-ingress

Previous Post

中国龙

Next Post

k8s配置ingress访问

Related Posts