Я борюсь с сетью K8S, когда пытаюсь представить службу в кластере. В частности, мне нужно развернуть реестр частных контейнеров (через K8S) и выставить его как сервис clusterIP.
Чтобы сделать это, я следовал этой статье
На данный момент мне не нужен какой-то конкретный том, я просто хочу предоставить сервис внутри кластера.
Это файл POD yml:
apiVersion: v1
kind: Pod
metadata:
name: registry
labels:
app: registry
namespace: default
spec:
containers:
- name: registry
image: registry:2
imagePullPolicy: Always
ports:
- containerPort: 5000
Пока это мой служебный файл:
---
kind: Service
apiVersion: v1
metadata:
name: registry
namespace: default
spec:
selector:
app: registry
ports:
- port: 5000
targetPort: 5000
Оба объекта созданы через kubectl create -f <FILE_NAME>
Это мои открытые услуги
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 55m
registry ClusterIP 10.43.198.164 <none> 5000/TCP 10m
Пока это список моих услуг
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.43.0.1
Port: https 443/TCP
TargetPort: 6443/TCP
Endpoints: 172.31.5.173:6443
Session Affinity: ClientIP
Events: <none>
Name: registry
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=registry
Type: ClusterIP
IP: 10.43.198.164
Port: <unset> 5000/TCP
TargetPort: 5000/TCP
Endpoints: 10.42.1.4:5000
Session Affinity: None
Events: <none>
Когда я запускаю telnet 10.43.198.164 5000
в том же узле, где развернут модуль, все работает нормально, а если я запускаю его на другом узле (это кластер из 2 узлов), команда остается добавленной.
Узлы - это экземпляры AWS ec2 с CentOS 7
Kubernetes находится под версией 1.8.3, развернутой через RANCHER RKE
Я нашел несколько проблем для этой проблемы, но ничего, что могло бы помочь мне исследовать проблему.
Здесь вы можете найти файл конфигурации RKE, использованный для создания экземпляра кластера
#{{ ansible_managed }}
nodes:
- address: node1
user: user
role: [controlplane,worker,etcd]
ssh_key_path: path
- address: node2
user: user
role: [worker]
ssh_key_path: path
ignore_docker_version: false
kubernetes_version: v1.10.1
network:
plugin:flannel
Любая помощь?
Спасибо.