На k8s вы можете создавать сервисы либо с помощью команды kubectl expose ..
, либо kubectl crate service ...
, верно?
Итак, с обоими из них у меня возникла проблема, в которой я не уверен, почему.
k8s позволяет мне делать kubectl expose deploy demo --type ExternalName
, но не позволяет передавать флаг --external-name
для указания CNAME.
$ kubectl expose deploy demo --type ExternalName --port 80 --external-name google.com
...
unknownflag: --external-name
Если я не использую флаг --external-name
.
$ kubectl expose deploy demo --type ExternalName --port 80
Служба "demo" недействительна: spec.externalName:Обязательное значение
k8s также позволяет мне делать kubectl create service externalname demo --external-name example.com --tcp <port>:<target-port>
, но когда я проверяю, порт и целевой порт не прошли.
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
demo ExternalName <none> google.com <none> 20m
Я пытался--tcp=80:80
, --tcp 80:80
, --tcp = [80:80] и т. Д. Ничего не работает!
Кто-нибудь может указать, в чем проблема?Я думаю, что это может быть ошибка.
Я на GKE, с версией 1.13.7 k8s.