Ingress 규칙 생성을 위한 Go 스니펫
2608 단어 kubernetesgo
networking.k8s.io/v1
으로 마이그레이션해야 할 수 있습니다(Kubernetes 1.22 이후에는 이전 apiVersionextensions/v1beta1
및 networking.k8s.io/v1beta1
이 사라짐). Go를 통해 인그레스 규칙을 관리하는 경우 도움이 될 수 있는 유효한 인그레스 규칙을 생성하는 스니펫이 있습니다(올바른 템플릿을 찾는 데 약간 어려움을 겪었기 때문에 이 게시물을 공유합니다).이 스니펫이 유용했거나 개선할 수 있는 부분이 있으면 알려주세요.
좋은 하루 되세요!
import (
v1Networking "k8s.io/api/networking/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func MapIngress(ingressName string, hostName string) *v1Networking.Ingress {
annotations := map[string]string{}
annotations["kubernetes.io/ingress.provider"] = "nginx"
annotations["kubernetes.io/ingress.class"] = "yourIngressClass"
annotations["kubernetes.io/tls-acme"] = "true"
// add other annotations you need
meta := v1.ObjectMeta{
Name: ingressName,
Annotations: annotations,
}
pathTypeImplementationSpecific := v1Networking.PathTypeImplementationSpecific
return &v1Networking.Ingress{
ObjectMeta: meta,
Spec: v1Networking.IngressSpec{
TLS: []v1Networking.IngressTLS{
v1Networking.IngressTLS{
Hosts: []string{hostName},
SecretName: "yourSecretName",
},
Rules: []v1Networking.IngressRule{
v1Networking.IngressRule{
Host: hostName,
IngressRuleValue: v1Networking.IngressRuleValue{
HTTP: &v1Networking.HTTPIngressRuleValue{
Paths: []v1Networking.HTTPIngressPath{
v1Networking.HTTPIngressPath{
Path: "/",
PathType: &pathTypeImplementationSpecific,
Backend: v1Networking.IngressBackend{
Service: &v1Networking.IngressServiceBackend{
Name: "yourServiceName",
Port: v1Networking.ServiceBackendPort{
Number: 80,
},
},
},
},
},
},
},
},
},
},
}
}
Reference
이 문제에 관하여(Ingress 규칙 생성을 위한 Go 스니펫), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lboix/go-snippet-for-creating-an-ingress-rule-2ici텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)