A Secret is an object that contains a small amount of sensitive data such as a password, a token, or a key. Such information might otherwise be put in a Pod specification or in an image; putting it in a Secret object allows for more control over how it is used, and reduces the risk of accidental exposure.
Sign in with project-regular
account, enter into one project such as demo-project
created in Getting Start with Multi-Tenant Management, then select Configuration Center → Secrets.
1.1. Click Create Secret button, then fill in basic information in the pop-up window. There are two ways to create a Secret, i.e., UI Mode and Edit Mode. The following mainly introduces each step of UI mode. If you prefer edit mode, you can click on the Edit Mode button, which supports yaml format and json format. Edit mode makes it easy for users who are used to editing yaml-like file directly.
1.2. On the basic information page, enter the name of the Secret. You can also fill in the description as necessary.
Click Next when you're done.
In the Secret settings, there are four types of secret as below are supported:
Default (Opaque): Secret in base 64 encoding format, used to store passwords, sensitive data, etc. See the following example:
Data:
Password: hello123
Username: guest
TLS (kubernetes.io/tls): Commonly used to save information such as TLS certificates and private keys. It can be used to encrypt Ingress. The TLS secret must contain keys named tls.crt and tls.key, saved with Credential and Private Key. See the following example:
apiVersion: v1
Data:
Tls.crt: base64 encoded cert
Tls.key: base64 encoded key
Kind: Secret
Metadata:
Name: testsecret
Namespace: default
Type: kubernetes.io/tls
Image Repository Secret (kubernetes.io/dockerconfigjson): It is used to store the authentication information of an image registry, such as the following information, see Image Registry:
dockerhub.qingcloud.com
guest
guest
123@test.com
Note: If there is a json type of image repository secret, you need to refer to the following steps to create:
Assume the private image repository is uc.gcr.io
, then you need to input _json_key
in User Name, and paste the json content in password. Click Create to finish.
When you create a workload, choose the Image Repository Secret that you created in the previous step, then input the image name directly, it will return the search result.
Custom: Allows users to create a type (type) that is similar to the default (Opaque) type. Both of them are key-value pairs.
Secrets can be mounted as data volumes or exposed as environment variables to be used by a container in a Pod.
For more information on how to use the Secret, see Quick-Start - Deploy a MySQL Application.
Enter into Configuration Center→ Secrets, click Create.
Enter its name, e.g. dockerhub-id
, then choose Next.
Select Image Repository Secret from the dropdown list, enter docker.io
into Registry Address, then input your DockerHub user name and password. Click Create when you are done.
Creating a GitHub secret is similiar as above. Enter its name, e.g. github-id
, and choose Account Password Secret. Then input your GitHub user name and password, and click Create.