steve@MacBookPro ~/eks/prd/# h repo add teleport https://charts.releases.teleport.dev
steve@MacBookPro ~/eks/prd/# h search repo teleport-cluster
NAME CHART VERSION APP VERSION DESCRIPTION
teleport/teleport-cluster 13.0.0 13.0.0 Teleport is an access platform for your infrast...
teleport/teleport 0.0.13 6 [This chart is deprecated, use teleport-cluster...
steve@MacBookPro ~/eks/prd/# h pull teleport-cluster
steve@MacBookPro ~/eks/prd/# tar zxvf teleport-cluster.tgz
steve@MacBookPro ~/eks/prd/# vi teleport-cluster/values.yaml
--- values.yaml
##################################################
# Values that must always be provided by the user.
##################################################
clusterName: "Teleport-ClusterName"
kubeClusterName: "EKS-ClusterName"
proxy:
teleportConfig: {}
authentication:
localAuth: true # 외부 인증이 아닌 로컬 사용자 인증 (Teleport DB)
secondFactor: "otp" # 2차 인증을 지원한다.
proxyListenerMode: "separate"
sessionRecording: "node"
separatePostgresListener: true
separateMongoListener: false
publicAddr: ["subdomain.domain.com:443"]
postgresPublicAddr: ["subdomain.domain.com:5432"]
sshPublicAddr: ["subdomain.domain.com:3023"]
tunnelPublicAddr: ["subdomain.domain.com:3024"]
chartMode: aws # 사용한 CSP
validateConfigOnDeploy: true
createProxyToken: true
aws:
region: "ap-northeast-2"
backendTable: "teleport-helm-backend" # aws dynamodb를 사용하게되는데, 사용 될 테이블 명
auditLogTable: "teleport-helm-events" # aws dynamodb를 사용하게되는데, 사용 될 테이블 명
auditLogMirrorOnStdout: false
sessionRecordingBucket: "s3.teleport" # 세션레코딩 된 파일은 크기가 크므로 S3에 저장한다.
backups: false
annotations:
service:
service.beta.kubernetes.io/aws-load-balancer-name: AWS-NLB # NLB에서 사용할 이름
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:ap-northeast-2:000000000000:certificate/~ # ACM
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
service.beta.kubernetes.io/load-balancer-source-ranges: 1.2.3.4/32 # 인스턴스 SG에 등록 될 IP, IP 접근 제한
service:
type: LoadBalancer # 클러스터 타입은 NLB
steve@MacBookPro ~/eks/prd/teleport-cluster# h install teleport .
steve@MacBookPro ~/eks/prd/teleport-cluster# k get all -l app.kubernetes.io/instance=teleport
NAME READY STATUS RESTARTS AGE
pod/teleport-auth-65d4586dc4-nhs2b 1/1 Running 0 31d
pod/teleport-proxy-57b4fd87b6-8wz72 1/1 Running 0 31d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/teleport LoadBalancer 172.20.16.49 nlb-endpoint-address.elb.ap-northeast-2.amazonaws.com 443:30760/TCP,3023:30644/TCP,3024:30617/TCP,3036:31190/TCP,5432:32412/TCP 32d
service/teleport-auth ClusterIP 172.20.159.171 <none> 3025/TCP,3026/TCP 32d
service/teleport-auth-v11 ClusterIP None <none> <none> 32d
service/teleport-auth-v12 ClusterIP None <none> <none> 32d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/teleport-auth 1/1 1 1 32d
deployment.apps/teleport-proxy 1/1 1 1 32d
NAME DESIRED CURRENT READY AGE
replicaset.apps/teleport-auth-65d4586dc4 1 1 1 31d
replicaset.apps/teleport-auth-74d6ddc9bf 0 0 0 32d
replicaset.apps/teleport-auth-958c9d9c5 0 0 0 31d
replicaset.apps/teleport-proxy-57b4fd87b6 1 1 1 31d
replicaset.apps/teleport-proxy-6f6878c945 0 0 0 32d
replicaset.apps/teleport-proxy-74cfd4c858 0 0 0 31d
replicaset.apps/teleport-proxy-7d8f98d77d 0 0 0 32d
steve@MacBookPro ~/eks/prd/teleport-cluster# k exec -it pod/teleport-auth-65d4586dc4-nhs2b -- tctl users add steve --roles=editor,access --logins=root,ubuntu,ec2-user