使用AlpineLinux搭建k8s (web/ap/db服务器) 〜创建用于外部公开的Ingress章节〜

目标

为了使Kubernetes内部应用程序可以从外部进行通信确认,
创建一个用于外部公开的Ingress。
在进行通信时,如果将端口号设置为HTTP的默认端口,
可能会受到以默认端口为目标的安全攻击,
因此,将配置为不使用HTTP和HTTPS的默认端口的服务。
(在后面的说明中,端口号将不会公开。)

请参考以下链接了解开放端口的含义及其安全影响:https://bs-square.jp/blog/index.php/2022/05/26/what-is-an-open-port-what-are-the-security-implications/

建设准备和预先工作

定义一个端口。

    • port:★httpdのDockerで起動するhttpdのリッスンポート★

 

    • targetPort: ★デフォルトでは利便性のため、portに書き換わる★

 

    • ※特段なんでもいいのですが、変えてもいいと思います。

 

    nodePort: ★コンテナホスト側のポート★

参考:https://kubernetes.io/ja/docs/concepts/services-networking/service/

换句话说,该机制即为通过节点IP:节点端口连接到Kubernetes内部的端口。

    apache-deployment.yml
apiVersion: v1
kind: Service
metadata:
  name: apache-service
spec:
  selector:
    app: apache
  ports:
  - name: http
    port: ★適当★
    targetPort: ★httpdのDockerで解放しているポート★
    nodePort: ★コンテナホスト側のポート★
  type: LoadBalancer

执行内容

执行结果相当简单。

[root@t_kyn029 apachedocker]# kubectl apply -f apache-deployment.yml
service/apache-service created
[root@t_kyn029 apachedocker]# 

确认信息已传达

由于无法进行通信确认,在此省略该步骤。但一旦确认,您将能够知道服务是否已启动。

[root@t_kyn029 apachedocker]# kubectl get svc
NAME             TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)           AGE
apache-service   LoadBalancer   10.98.214.9   <pending>     【nodePort★コンテナホスト側のポート★】:【port★適当★】/TCP   114s
kubernetes       ClusterIP      10.96.0.1     <none>        443/TCP           77d
[root@t_kyn029 apachedocker]# 

我将在接下来的(web/ap/db服务器)中使用AlphineLinux搭建k8s环境,这一部分将涵盖Apache的镜像构建和DeploymentPod的创建。

完成工作之后

无论哪个都可以,但如果要删除的话,
将执行以下命令:kubectl delete -f apache-deployment.yml。

[root@t_kyn029 apachedocker]# kubectl delete -f apache-deployment.yml
service "apache-service" deleted
[root@t_kyn029 apachedocker]# 

以上是。

bannerAds