https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/sos/report/plugins/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/kubernetes.cpython-310.pyc
o

-�_g�1�@s�ddlmZddlZddlZddlZddlmZmZmZm	Z	m
Z
dZdZdZ
Gdd�de�ZGd	d
�d
ee�ZGdd�dee	e�ZdS)
�)�	translateN)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin�	PluginOpt)�kubelet�
kubernetes)rzkube-apiserverz
kube-proxyzkube-schedulerzkube-controller-manager)z/etc/kubernetes/admin.confc
@s�eZdZdZdZdZdZgd�ZdgZgd�Z	gd�Z
gd	�Zed
ddd
�edddd
�edddd
�edddd
�edde
dd�gZdZdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'S)(�
Kubernetesz+Kubernetes container orchestration platformr	)�	containeri�)z/etc/kubernetesz/run/flannelz/var/lib/kubelet/config.yamlz"/var/lib/kubelet/kubeadm-flags.envz /var/lib/kubelet/*_manager_statez/etc/kubernetes/pki)z /var/log/pods/kube-system_etcd-*z*/var/log/pods/kube-system_kube-apiserver-*z3/var/log/pods/kube-system_kube-controller-manager-*z*/var/log/pods/kube-system_kube-scheduler-*)�events�deployments�	ingresses�pods�pvc�services�
daemonsets�replicasets�	endpoints�statefulsets�
configmaps�serviceaccounts�secrets�jobs�cronjobs�clusterroles�clusterrolebindings�limitranges�resourcequotas)�sc�pv�roles�rolebindings�allFz'collect all namespace output separately)�default�desc�describez(collect describe output of all resources�kubelogsz4copy some kube-system pod logs without using the API�podlogsz2capture stdout/stderr logs from pods using the API�podlogs-filter�z1only collect logs from pods matching this pattern)r$�val_typer%�kubectlcCsDtj�d�rdS|jD]}|�|�r|jd|��7_dSqdS)N�
KUBECONFIGz --kubeconfig=)�os�environ�get�files�path_exists�kube_cmd)�self�_kconf�r6�?/usr/lib/python3/dist-packages/sos/report/plugins/kubernetes.py�set_kubeconfigks

��zKubernetes.set_kubeconfigcst�fdd��jD��S)z" Check if this is the master node c3s�|]}��|�VqdS�N)r2)�.0�f�r4r6r7�	<genexpr>us�z-Kubernetes.check_is_master.<locals>.<genexpr>)�anyr1r<r6r<r7�check_is_mastersszKubernetes.check_is_mastercs����j����j���d�r���j���gd�����s$dSdD]}�j�j	�d|��dd�q&��d�rK�j�fdd	��j
D�dd�n�j�fd
d	��j
D�dd��j�j	�d�dd�}|dd
kr���d�r�|d��dd�D]}|�
�}|s�qz|d
}�j�j	�d|��dd�qz�j�j	�d�gdd��j�j	�d�dd���d�r��j�ddg���d�������dS)Nr')r-�KUBERNETES_HTTP_PROXY�KUBERNETES_HTTPS_PROXY�KUBERNETES_NO_PROXY)�versionzconfig view� �cluster-info��subdirr#c�g|]
}�j�d|���qS)�
 get -o json �r3�r:�resr<r6r7�
<listcomp>����z$Kubernetes.setup.<locals>.<listcomp>crH)� get rJrKr<r6r7rM�rNz
 get nodes�statusrr&�output�z describe node z get -o json nodesz get --raw /metricszkubevirt-virtctl�vms�vmiszvirtctl version)�
add_copy_spec�config_files�add_forbidden_path�forbidden_paths�
get_option�kube_system_logs�add_env_varr?�add_cmd_outputr3�global_resources�collect_cmd_output�
splitlines�split�is_installed�	resources�extend�collect_per_resource_details�collect_all_resources)r4�subcmd�nodes�line�words�noder6r<r7�setupwsd
�
������
��
�

zKubernetes.setupc	CsZ|j|j�d�dd�}|d��dd�}dd�|D�}|D]�}d	|��}|�d
�rG|j�d|��}|jD]}|j|�d|��d
|��d�q5|�d�r�|j�d|��}|jD]H}|dkr^qW|�|�d|���}|ddkr�dd�|d��dd�D�}	|	D]}
|j�d|��}|j|�d|�d|
��d
|�d|��d�qqW|�d�r�|�|�qdS)z7 Collect details about each resource in all namespaces z get namespacesrErFrQrRNcSs(g|]}|rt|���r|��d�qS�r)�lenr`)r:�nr6r6r7rM�s(z;Kubernetes.collect_per_resource_details.<locals>.<listcomp>z--namespace=r#rIrD�
cluster-info/r&rrOrPrcSsg|]}|��d�qSrl)r`)r:�kr6r6r7rM�sz
 describe �/r()r^r3r_rYrbr\�exec_cmd�
_get_pod_logs)r4�kns�	kn_output�knsps�nspace�knsp�k_cmdrL�ret�k_list�itemr6r6r7rd�sF�


�

���

��z'Kubernetes.collect_per_resource_detailsc
CsV|j�d|��}|�|�d��}|ddkr�t�|d�}|�d�r)t|�d��nd}|dD]y}|r>t�||dd	�s>q/d
|dd�d|dd	��}d
|dvrz|dd
D]}|dd	}	|d	}
|j|j�d|�d|	�d|
��|d�qZd|dvr�|ddD]}|dd	}	|d	}
|j|j�d|�d|	�d|
��|d�q�q/dSdS)NrIz podsrPrrQr)�items�metadata�namero�	namespacez	/podlogs/�
containers�specrDz logs z -c rF�initContainers)	r3rr�json�loadsrYr�re�matchr\)r4r�ryrzr�reg�pod�_subdir�cont�pod_name�	cont_namer6r6r7rs�sV��
�
���������zKubernetes._get_pod_logscCsB|�d�s|j�d�}|jD]}|j|�d|��dd�qdSdS)z% Collect details about all resources r#z get --all-namespaces=truerDrErFN)rYr3rbr\)r4ryrLr6r6r7res

��z Kubernetes.collect_all_resourcescCsvd}|�|j|d�|�|j�dd�|j��d�}|�|�d}d}dd�t|j�|j��d�}|�|||�dS)NzX(?P<var>{\s*"name":\s*[^,]*(pass|pwd|key|token|cred|PASS|PWD|KEY)[^,]*,\s*"value":)[^}]*z\g<var> "********"z^(�|�)zLS0tLS1CRUdJ[A-Za-z0-9+/=]+z***** SCRUBBED BASE64 PEM *****)	�do_cmd_output_subr3�do_cmd_private_sub�joinrV�do_file_private_sub�listr1�do_path_regex_sub)r4�
env_regexp�pathexp�regexp�substr6r6r7�postprocs
�
zKubernetes.postprocN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�plugin_timeoutrVrXrZrbr]r�str�option_listr3r8r?rkrdrsrer�r6r6r6r7r
&sF�������
E(!
r
cs4eZdZeZeZeZ�fdd�Z	�fdd�Z
�ZS)�RedHatKubernetescs|�d�rdSt���S)Nzopenshift-hyperkubeF)ra�super�
check_enabledr<��	__class__r6r7r�/s

zRedHatKubernetes.check_enabledcs|��t���dSr9)r8r�rkr<r�r6r7rk5szRedHatKubernetes.setup)r�r�r��
KUBE_PACKAGES�packages�KUBECONFIGSr1�	KUBE_SVCSrr�rk�
__classcell__r6r6r�r7r�'sr�csHeZdZedZedZedZ�fdd�Z	dd�Z
�fdd	�Z�ZS)
�UbuntuKubernetes)�k8s)z#/root/cdk/cdk_addons_kubectl_configz4/var/snap/microk8s/current/credentials/client.config)zsnap.kubelet.daemonzsnap.kube-apiserver.daemonzsnap.kube-proxy.daemonzsnap.kube-scheduler.daemonz#snap.kube-controller-manager.daemonzcdk.master.auth-webhookcsP|��|�d�r
d|_n|�d�rd|_|��|j�ddg�t���dS)N�microk8szmicrok8s kubectlr�zk8s kubectlz/root/cdk/kubelet/config.yamlz!/root/cdk/audit/audit-policy.yaml)r8rar3�_canonical_kubernetesrVrcr�rkr<r�r6r7rkOs

�zUbuntuKubernetes.setupc
sz|jdd�d�d}ddg}|�|�d�|�d�|�d	�|�d
�|�d�|�d�|�d
�g�|��fdd�|D��dS)Nz
snap.k8s.*)�unitsr�z/var/snap/k8s/commonrPr0z/argsz/var/lib/k8s-dqlite/info.yamlz /var/lib/k8s-dqlite/cluster.yamlz'/var/lib/k8sd/state/truststore/k8s.yamlz&/var/lib/k8sd/state/database/info.yamlz)/var/lib/k8sd/state/database/cluster.yamlz/var/lib/k8sd/state/daemon.yamlcsg|]	}��d|���qS)rDr6)r:rf��k8s_cmdr6r7rMss�z:UbuntuKubernetes._canonical_kubernetes.<locals>.<listcomp>)�add_journalrUr\)r4�
k8s_common�k8s_subcmdsr6r�r7r�^s$��
�z&UbuntuKubernetes._canonical_kubernetescst���|�d�dS)Nz;/var/snap/k8s/common/var/lib/k8sd/state/truststore/k8s.yaml)r�r�r�r<r�r6r7r�ws
�zUbuntuKubernetes.postproc)
r�r�r�r�r�r�r1r�rrkr�r�r�r6r6r�r7r�:s
r�)�fnmatchrr�r�r.�sos.report.pluginsrrrrrr�r�r�r
r�r�r6r6r6r7�<module>s

https://t.me/RX1948 - 2025