“初学者的Kubernetes入门(通过实践入门的书籍《Kubernetes 实践入门》的写作)公开篇第三部分(入口)。”

背景 – 背景资料

从个人角度来看,我希望不仅仅掌握基础设施的知识,还能够建立和部署能够运行未来应用程序的环境,以便获取未来的知识。而且,我想加强自己的知识更新。

在那其中我遇見了這本書,從現在起,將一些所做之事留下,也當作給未來自己的一封信,希望能夠重新反思一下。

我想分享一些我本次学习使用的引用和参考书籍。

关于实际学习的内容

我希望在阅读书籍的同时,逐章进行一点点的进展。
我还想借助GitHub的源代码来学习。
这一章的学习可能真的主要是模仿书籍上的内容…

开始抓紧

    • アプリケーションを外部に公開する方法を学びます

NodePort を使って公開する
外部 LoadBalancer を使って公開する
Ingress を使って公開する

我們這次打算使用「Ingress」來進行公開。

用Ingress进行发布

    • kubernetes クラスタ内部のロードバランサを使ってアプリケーションを公開する方法

 

    • Service には Ingress というタイプはない

 

    Ingress オブジェクトを作成する必要がある

在公开之前的浏览器状态

スクリーンショット 2020-04-26 15.44.55.png

创建Ingress清单

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: mattermost
spec:
  rules:
  - host: chat.192.168.3.4.nip.io # ip は自分のホストの IP とします
    http:
      paths:
      - backend:
          serviceName: mattermost
          servicePort: 8065

清单适用

$ kubectl apply -f mattermost-ingress.yaml
ingress.extensions/mattermost created

确认姓名解决方法

$ $ nslookup chat.192.168.3.4.nip.io
Server:     192.168.3.1
Address:    192.168.3.1#53

Non-authoritative answer:
Name:   chat.192.168.3.4.nip.io
Address: 192.168.3.4

确认 Ingress 对象

$ kubectl get ingresses
NAME         HOSTS                     ADDRESS     PORTS   AGE
mattermost   chat.192.168.3.4.nip.io   localhost   80      154m

发布后的浏览器

スクリーンショット 2020-04-26 19.20.47.png

我们接下来要做第3.7章。

我希望学习关于数据存储Pod的知识。我想了解如何管理有状态应用程序。

最终

对不起,即使您按照上述设置进行访问,也无法显示出来…

由於我所在的環境沒有安裝minikube,所以無法成功執行minikube addons enable ingress 命令來啟用Ingress Controller,這個問題困擾了我幾個小時。

    • Docker Desktop では Ingress のオブジェクトを作成するだけだと動かないことを気づき

 

    NGINX Ingress Controller サイトで Ingeress Controller の Kubernetes への適用することでうまくいきました
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud/deploy.yaml

之前的帖子

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。Pod部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。NameSpace部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。Label部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。ReplicaSet部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。Deployment部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。Service部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。ConfigMap部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。Secret部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。操作部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。体验部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。体验部分2

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。体验部分3(标签操作)

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。体验部分3(OwnerReference操作)

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。清单文件部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。清单文件(ConfigMap)部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。通信部分

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。通信部分2

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。通信部分3

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。通信部分4

 

    1. 初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。部署部分1(NodePort)

 

    初学者指南Kubernetes(基于书籍《实践指南Kubernetes》的写作)。部署部分2(LoadBalancer)
bannerAds