Python kubernetes.client.V1EnvVarSource() Examples
The following are 7
code examples of kubernetes.client.V1EnvVarSource().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
kubernetes.client
, or try the search function
.
Example #1
Source File: copy_dataset.py From aws-eks-deep-learning-benchmark with Apache License 2.0 | 7 votes |
def create_job_object(runner_image, region, s3_path, pvc_name): target_folder = get_target_folder(s3_path) # Configureate Pod template container container = k8s_client.V1Container( name="copy-dataset-worker", image=runner_image, command=["aws"], args=["s3", "sync", s3_path, "/mnt/" + target_folder], volume_mounts=[k8s_client.V1VolumeMount(name="data-storage", mount_path='/mnt')], env=[k8s_client.V1EnvVar(name="AWS_REGION", value=region), k8s_client.V1EnvVar(name="AWS_ACCESS_KEY_ID", value_from=k8s_client.V1EnvVarSource(secret_key_ref=k8s_client.V1SecretKeySelector(key="AWS_ACCESS_KEY_ID", name="aws-secret"))), k8s_client.V1EnvVar(name="AWS_SECRET_ACCESS_KEY", value_from=k8s_client.V1EnvVarSource(secret_key_ref=k8s_client.V1SecretKeySelector(key="AWS_SECRET_ACCESS_KEY", name="aws-secret"))) ], ) volume = k8s_client.V1Volume( name='data-storage', persistent_volume_claim=k8s_client.V1PersistentVolumeClaimVolumeSource(claim_name=pvc_name) ) # Create and configurate a spec section template = k8s_client.V1PodTemplateSpec( # metadata=k8s_client.V1ObjectMeta(labels={"app":"copy-dataset-worker"}), spec=k8s_client.V1PodSpec(containers=[container], volumes=[volume], restart_policy="OnFailure")) # Create the specification of deployment spec = k8s_client.V1JobSpec( # selector=k8s_client.V1LabelSelector(match_labels={"app":"copy-dataset-worker"}), template=template) # Instantiate the deployment object deployment = k8s_client.V1Job( api_version="batch/v1", kind="Job", metadata=k8s_client.V1ObjectMeta(name=container.name), spec=spec) return deployment
Example #2
Source File: translate_outputs.py From tacker with Apache License 2.0 | 7 votes |
def init_envs(self, container_props, name): config = container_props.config config_dict = self.pre_process_config(config) configmap_name = name list_envs = [] for key in config_dict: config_map_ref = client.V1ConfigMapKeySelector( key=key, name=configmap_name) env_var = client.V1EnvVarSource( config_map_key_ref=config_map_ref) env_object = client.V1EnvVar( name=key, value_from=env_var) list_envs.append(env_object) return list_envs # Init container object
Example #3
Source File: kubernetes_tools.py From paasta with Apache License 2.0 | 6 votes |
def get_kubernetes_environment(self) -> Sequence[V1EnvVar]: kubernetes_env = [ V1EnvVar( name="PAASTA_POD_IP", value_from=V1EnvVarSource( field_ref=V1ObjectFieldSelector(field_path="status.podIP") ), ), V1EnvVar( # this is used by some functions of operator-sdk # it uses this environment variable to get the pods name="POD_NAME", value_from=V1EnvVarSource( field_ref=V1ObjectFieldSelector(field_path="metadata.name") ), ), V1EnvVar( name="PAASTA_HOST", value_from=V1EnvVarSource( field_ref=V1ObjectFieldSelector(field_path="spec.nodeName") ), ), ] return kubernetes_env
Example #4
Source File: test_kubernetes_tools.py From paasta with Apache License 2.0 | 6 votes |
def test_get_kubernetes_secret_env_vars(self): assert self.deployment.get_kubernetes_secret_env_vars( secret_env_vars={"SOME": "SECRET(a_ref)"}, shared_secret_env_vars={"A": "SHAREDSECRET(_ref1)"}, ) == [ V1EnvVar( name="SOME", value_from=V1EnvVarSource( secret_key_ref=V1SecretKeySelector( name="paasta-secret-kurupt-a--ref", key="a_ref", optional=False ) ), ), V1EnvVar( name="A", value_from=V1EnvVarSource( secret_key_ref=V1SecretKeySelector( name="paasta-secret-underscore-shared-underscore-ref1", key="_ref1", optional=False, ) ), ), ]
Example #5
Source File: _default_transformers.py From pipelines with Apache License 2.0 | 6 votes |
def add_pod_env(op: BaseOp) -> BaseOp: """Adds pod environment info to ContainerOp. """ if isinstance(op, ContainerOp) and op.pod_labels and 'add-pod-env' in op.pod_labels and op.pod_labels['add-pod-env'] == 'true': from kubernetes import client as k8s_client op.container.add_env_variable( k8s_client.V1EnvVar( name='KFP_POD_NAME', value_from=k8s_client.V1EnvVarSource( field_ref=k8s_client.V1ObjectFieldSelector( field_path='metadata.name' ) ) ) ).add_env_variable( k8s_client.V1EnvVar( name='KFP_NAMESPACE', value_from=k8s_client.V1EnvVarSource( field_ref=k8s_client.V1ObjectFieldSelector( field_path='metadata.namespace' ) ) ) ) return op
Example #6
Source File: kubernetes_tools.py From paasta with Apache License 2.0 | 5 votes |
def get_kubernetes_secret_env_vars( self, secret_env_vars: Mapping[str, str], shared_secret_env_vars: Mapping[str, str], ) -> Sequence[V1EnvVar]: ret = [] for k, v in secret_env_vars.items(): service = self.get_sanitised_service_name() secret = get_secret_name_from_ref(v) sanitised_secret = sanitise_kubernetes_name(secret) ret.append( V1EnvVar( name=k, value_from=V1EnvVarSource( secret_key_ref=V1SecretKeySelector( name=f"paasta-secret-{service}-{sanitised_secret}", key=secret, optional=False, ) ), ) ) for k, v in shared_secret_env_vars.items(): service = sanitise_kubernetes_name(SHARED_SECRET_SERVICE) secret = get_secret_name_from_ref(v) sanitised_secret = sanitise_kubernetes_name(secret) ret.append( V1EnvVar( name=k, value_from=V1EnvVarSource( secret_key_ref=V1SecretKeySelector( name=f"paasta-secret-{service}-{sanitised_secret}", key=secret, optional=False, ) ), ) ) return ret
Example #7
Source File: aws.py From pipelines with Apache License 2.0 | 4 votes |
def use_aws_secret(secret_name='aws-secret', aws_access_key_id_name='AWS_ACCESS_KEY_ID', aws_secret_access_key_name='AWS_SECRET_ACCESS_KEY'): """An operator that configures the container to use AWS credentials. AWS doesn't create secret along with kubeflow deployment and it requires users to manually create credential secret with proper permissions. --- apiVersion: v1 kind: Secret metadata: name: aws-secret type: Opaque data: AWS_ACCESS_KEY_ID: BASE64_YOUR_AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: BASE64_YOUR_AWS_SECRET_ACCESS_KEY """ def _use_aws_secret(task): from kubernetes import client as k8s_client ( task.container .add_env_variable( k8s_client.V1EnvVar( name='AWS_ACCESS_KEY_ID', value_from=k8s_client.V1EnvVarSource( secret_key_ref=k8s_client.V1SecretKeySelector( name=secret_name, key=aws_access_key_id_name ) ) ) ) .add_env_variable( k8s_client.V1EnvVar( name='AWS_SECRET_ACCESS_KEY', value_from=k8s_client.V1EnvVarSource( secret_key_ref=k8s_client.V1SecretKeySelector( name=secret_name, key=aws_secret_access_key_name ) ) ) ) ) return task return _use_aws_secret