kubeadm 安装k8s 1.14.2(7.部署ingress-nginx)

部署node节点

\color{red}{注意:在master节点上操作;}

1.安装准备

配置文件地址:
https://github.com/kubernetes/ingress-nginx/tree/master/deploy/static
总共4个文件:
1、namespace.yaml #命名空间,也可以部署在kube-system命名空间(以下部署在kube-system)
kubectl apply -f namespace.yaml
2、rbac.yaml -rbac #用于集群角色授权
kubectl apply -f rbac.yaml
3、configmap.yaml #configmap用于为nginx从外部注入配置
kubectl apply -f configmap.yaml
4、mandatory.yaml #主配置文件
主配置文件修改了几处:
(1)pod数量
(2)使得ingress-nginx-controller运行在node1(双pod node2也运行,),并用hostPort暴露80 443端口:

spec:
      hostNetwork: true #修改
      # wait up to five minutes for the drain of connections
      terminationGracePeriodSeconds: 300
      serviceAccountName: nginx-ingress-serviceaccount
      ...
      nodeSelector:
        #kubernetes.io/os: linux
        node: ingress-nginx-controler-node #修改
        ...
          ports:
            - name: http
              containerPort: 80
              hostPort: 80 #修改
              #protocol: TCP
            - name: https
              containerPort: 443
              #protocol: TCP 
              hostPort: 443   #修改       

给node打标签,使得ingress-nginx-controller运行在node1(双pod node2也运行)

kubectl label nodes node1 node=ingress-nginx-controler-node
kubectl label nodes node2 node=ingress-nginx-controler-node
kubectl apply -f mandatory.yaml

kubectl label nodes node2 node- 删除lable
kubectl get node -l "node=ingress-nginx-controler-node"

5、添加别名,方便访问;
vim ~/.bashrc
添加 kk='kubectl -n kube-system'
source ~/.bashrc
6、查看部署的ingress:
kk get rs,pod,svc -o wide | grep ingress

ingress-nginx部署完成。

由于ingress-nginx分别部署在两个node节点中。需要在nginx上做负载均衡
\color{red}{注意:在nginx节点上操作;}
cd /etc/nginx/conf.d/

upstream k8s_ingress {
   server 172.17.240.75;
   server 172.17.240.76;
}
server {
        listen 80;
        server_name *.txt-we.com;
        access_log /var/log/nginx/txt-we.com.log json;
        location / {
           proxy_set_header Host  $host;
           proxy_set_header X-Forwarded-For  $remote_addr;
           proxy_pass http://k8s_ingress;
        }
}

nginx -t
nginx -s reload

完成。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考文献:https://github.com/kubernetes/ingress-nginx/blob/ngi...
    码二哥阅读 23,001评论 4 10
  • 一、Ingress概念 Kubernetes关于服务的暴露主要是通过NodePort方式,通过绑定宿主机的某个端口...
    沉沦2014阅读 10,940评论 0 6
  • 我需要一方温情的故土 一块平整的石头 我坐在石头上面 正对着对面山坡上的夕阳 不知什么时候我开始像野兽一样去思考 ...
    不会被折断的树枝阅读 185评论 3 4
  • 累吗?累。累死了!晚上十点下班,早上十点上班,晚上十二点多开始睡,早上九点多开始起来,睡眼惺忪,浑浑噩噩,开始了新...
    小虎一只阅读 313评论 0 1
  • 好像自己每次旅行都是由冲动开始,欣喜结束。 25日晚上因为一句话便起了心思,请年假、买去程票、买返程票。所...
    高高高高高小姐阅读 241评论 0 2