Keywords: Create pull secrets to pull images from aws, azure, gcr,... for k8s local, on-primse
Có ai từng muốn pull images từ aws mà suy nghĩ đến vấn đề hết thời hạn config không? nếu như với một docker-registry bình thường, thì mọi thứ chẳng có gì đáng nói, vì mình chỉ cần đơn giản tạo ra file pull secrets là đủ, sau đó nhét vào file config là chạy, nhưng với aws hoặc một cloud khác thì nó sẻ có thời gian là chỉ có hiệu lực trong vòng 60 phút hay sao đó, mình cũng chẳng nhớ rõ, thành ra với tools này thì khá là hữu dụng cho chúng ta ngày hôm nay đấy
Do Cloud mình đang sử dụng là AWS nên vì thế, mình sẻ hướng dẫn cho AWS còn các bạn thì có thể tự chỉnh riêng cho đúng với Registry của các bạn nhé, source mình sẻ để link ở phía dướiSau khi đã clone code về rồi, các bạn truy cập vào trong folder k8s và chỉnh sửa lại những file ở trong đó để thực hiện tạo service cho nó, với mình thì phải tạo thêm một user admin cho nó nữa
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: monitoring --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: monitoringSau khi chạy file này thì chỉnh sửa tiếp thằng deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: registry-creds
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
name: registry-creds
template:
metadata:
labels:
name: registry-creds
spec:
serviceAccountName: admin-user
containers:
- image: upmcenterprises/registry-creds:1.10
name: registry-creds
imagePullPolicy: Always
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: registry-creds-ecr
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: registry-creds-ecr
key: AWS_SECRET_ACCESS_KEY
- name: awsaccount
valueFrom:
secretKeyRef:
name: registry-creds-ecr
key: aws-account
- name: awsregion
valueFrom:
secretKeyRef:
name: registry-creds-ecr
key: aws-region
Còn file secret.yaml sẻ như sau
apiVersion: v1 kind: Secret metadata: name: registry-creds-ecr namespace: kube-system labels: app: registry-creds kubernetes.io/minikube-addons: registry-creds cloud: ecr data: AWS_ACCESS_KEY_ID: Change to base-code64 AWS_SECRET_ACCESS_KEY: Change to base-code64 aws-account: Change to base-code64 aws-region: Change to base-code64 type: OpaqueChú ý là change về code base64 nha, apply hết mớ này coi như là ok rồi đó, mình sẻ để tools để change sang base64 ở đây, các bạn có thể dùng của mình hoặc sử dụng console cũng được, chúc các bạn thành công nhé
0 Comments
Vài lời muốn nói:
* Không được nhận xét thô tục bởi mình biết các bạn là những người văn minh.
* Pass giải nén mặt định là itblognote hoặc itblognote.com nếu có Pass khác thì mình sẽ ghim trong bài viết.
* Click vào quảng cáo và chia sẻ bài viết để mình có thêm động lực viết bài nhé.