2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
हेल्मस्य परिचयः
हेल्म् कुबेर्नेट्स् कृते संकुलप्रबन्धनसाधनम् अस्ति, यस्य उपयोगः कुबेर्नेट्स् अनुप्रयोगानाम् परिनियोजनं प्रबन्धनं च सरलीकर्तुं भवति । Helm इत्यस्य तुलना CentOS इत्यस्य yum tool इत्यनेन सह कर्तुं शक्यते । हेल्म इत्यस्य निम्नलिखितमूलसंकल्पनाः सन्ति ।
चार्टः : एतत् Helm द्वारा प्रबन्धितं संस्थापनसङ्कुलम् अस्ति, यस्मिन् संस्थापनसङ्कुलसंसाधनाः सन्ति येषां परिनियोजनं करणीयम् । Chart इत्यस्य तुलना CentOS yum इत्यनेन उपयुज्यमानस्य rpm सञ्चिकायाः सह कर्तुं शक्यते ।
विमोचनम् : एतत् चार्टस्य परिनियोजनदृष्टान्तः अस्ति यत् चार्ट् कुबेर्नेट्स क्लस्टर इत्यत्र बहुविधविमोचनं भवितुम् अर्हति, अर्थात् चार्ट् बहुवारं संस्थापयितुं शक्यते ।
भण्डारः : चार्ट् गोदाम, चार्ट्स् प्रकाशयितुं संग्रहणार्थं च उपयुज्यते
अवाहरन:https://github.com/helm/helm/विमोचनं करोति
फलानां स्थितिं पश्यन्तु
- kubectl get pods --namespace=kube-system
- kubectl get pods --all-namespaces
यदि भवान् तत् विलोपयितुम् इच्छति तर्हि प्रथमं परिनियोजनं अन्विष्य ततः विलोपयतु ।
- kangming@ubuntu26:~$ kubectl get deployment --namespace=kube-system
- NAMEREADY UP-TO-DATE AVAILABLE AGE
- calico-kube-controllers 1/1 11 4h23m
- coredns 2/2 22 4h22m
- coredns-autoscaler1/1 11 4h22m
- metrics-server1/1 11 4h18m
- tiller-deploy 0/1 10 4h15m
-
- kangming@ubuntu26:~$ kubectl delete deployment tiller-deploy --namespace=kube-system
- deployment.apps "tiller-deploy" deleted
यदि भवान् एकं फलं विस्तरेण द्रष्टुम् इच्छति तर्हि भवान् वर्णनं कर्तुं शक्नोति
kubectl describe pod rke-coredns-addon-deploy-job-qz8v6--namespace=kube-system
नवीनतमं स्थिरसंस्करणम्: v3.9.2
अवाहरन
https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz
प्रतिस्था
- tar -zxvf helm-v3.9.2-linux-amd64.tar.gz
- sudo mv linux-amd64/helm /usr/local/bin/helm
- sudo chmod +x /usr/local/bin/helm
आधिकारिकदस्तावेजं पश्यन्तु:
एकं चार्ट गोदामं योजयन्तु
helm repo add bitnami https://charts.bitnami.com/bitnami
संस्थापनीयचार्ट्-सूचीं पश्यन्तु
- kangming@ubuntu26:~/rancher$ helm search repo bitnami
- NAMECHART VERSION APP VERSION DESCRIPTION
- bitnami/airflow 13.0.22.3.3 Apache Airflow is a tool to express and execute...
- bitnami/apache9.1.162.4.54Apache HTTP Server is an open-source HTTP serve...
- bitnami/argo-cd 4.0.6 2.4.8 Argo CD is a continuous delivery tool for Kuber...
- bitnami/argo-workflows2.3.8 3.3.8 Argo Workflows is meant to orchestrate Kubernet...
चार्ट उदाहरणं संस्थापयन्तु
- ##确定我们可以拿到最新的charts列表
- helm repo update
-
- #安装一个mysql的chat示例
- helm install bitnami/mysql --generate-name
- NAME: mysql-1659686641
- LAST DEPLOYED: Fri Aug5 16:04:04 2022
- NAMESPACE: default
- STATUS: deployed
- REVISION: 1
- TEST SUITE: None
- NOTES:
- CHART NAME: mysql
- CHART VERSION: 9.2.5
- APP VERSION: 8.0.30
-
- ** Please be patient while the chart is being deployed **
-
- Tip:
-
- Watch the deployment status using the command: kubectl get pods -w --namespace default
-
- Services:
-
- echo Primary: mysql-1659686641.default.svc.cluster.local:3306
-
- Execute the following to get the administrator credentials:
-
- echo Username: root
- MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default mysql-1659686641 -o jsonpath="{.data.mysql-root-password}" | base64 -d)
-
- To connect to your database:
-
- 1. Run a pod that you can use as a client:
-
- kubectl run mysql-1659686641-client --rm --tty -i --restart='Never' --imagedocker.io/bitnami/mysql:8.0.30-debian-11-r4 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
-
- 2. To connect to primary service (read/write):
-
- mysql -h mysql-1659686641.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
उपर्युक्ते उदाहरणे bitnami/mysql इति चार्ट् mysql-1659686641 इति नाम्ना प्रकाशितम् अस्ति । यदा वयं सर्वाणि फलानि सूचीबद्धं कुर्मः तदा वयं पश्यामः यत् अधिकानि mysql फलानि सन्ति ।
भवान् केवलं helm show chart bitnami/mysql इति आदेशं निष्पादयित्वा अस्य चार्टस्य मूलभूतसूचनाः ज्ञातुं शक्नोति । अथवा चार्टस्य विषये सर्वाणि सूचनानि प्राप्तुं helm show all bitnami/mysql निष्पादयितुं शक्नुवन्ति ।
यदा कदापि भवान् helm install निष्पादयति तदा नूतनं release version निर्मितं भवति । अतः एकस्मिन् समूहे चार्ट् बहुवारं संस्थापयितुं शक्यते, प्रत्येकं स्वतन्त्रतया प्रबन्धयितुं उन्नयनं च कर्तुं शक्यते ।
पतवारस्य उपयोगः कथं करणीयः इति अधिकविवरणार्थं पश्यन्तु :https://helm.sh/zh/docs/intro/helm_उपयोगेन/
हेल्म् इत्यनेन भवन्तः सहजतया द्रष्टुं शक्नुवन्ति यत् के चार्ट्स् प्रकाशिताः सन्ति
- kangming@ubuntu26:~/rancher$ helm list
- NAMENAMESPACE REVISIONUPDATED STATUSCHART APP VERSION
- mysql-1659686641default 1 2022-08-05 16:04:04.411386078 +0800 CST deployedmysql-9.2.5 8.0.30
एकं संस्करणं विस्थापयन्तु
- kangming@ubuntu26:~/rancher$ helm uninstall mysql-1659686641
- release "mysql-1659686641" uninstalled
एषः आदेशः Kubernetes इत्यस्मात् mysql-1659686641 इत्यस्य विस्थापनं करिष्यति ।
यदि भवान् helm uninstall निष्पादयति समये --keep-history विकल्पं प्रदाति तर्हि Helm संस्करण-इतिहासम् रक्षति । आदेशस्य माध्यमेन अस्य संस्करणस्य विषये सूचनां द्रष्टुं शक्नुवन्ति
helm status mysql-1659686641
पतवार सहायता दस्तावेजीकरण
helm get -h
पतवार अन्वेषणम्
helm search hub fromआर्टिफैक्ट हब इत्यस्मिन् पतवारस्य चार्ट्स् अन्वेष्टुम् सूचीकृत्य च . Artifact Hub इत्यत्र बहुविधाः भण्डाराः संगृहीताः सन्ति ।
helm search repo भवता योजितानां भण्डारात् (helm repo add इत्यस्य उपयोगेन) स्वस्य स्थानीय helm क्लायन्ट् मध्ये अन्वेषणं करोति । एषः आदेशः स्थानीयदत्तांशस्य आधारेण अन्वेषणं करोति, अन्तर्जालसम्पर्कस्य आवश्यकता नास्ति ।
नूतनं helm संकुलं संस्थापयितुं helm install आदेशस्य उपयोगं कुर्वन्तु । उपयोगस्य सरलतमविधिः केवलं द्वयोः पैरामीटर्-मध्ये पारयितुं आवश्यकं भवति: भवता नामकरणं कृतं विमोचननाम तथा च भवता संस्थापयितुम् इच्छितस्य चार्टस्य नाम ।
helm install happy-panda bitnami/wordpress
1. चार्ट गोदामस्य पतां योजयन्तु
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
2. परिभाषाप्रमाणपत्रं जनयन्तु
सन्दर्भार्थम् : १.स्वयमेव हस्ताक्षरितं SSL प्रमाणपत्रं जनयन्तु
एक-क्लिक् प्रमाणपत्रजननस्क्रिप्ट्, rancher official, key.sh इति रूपेण रक्षन्तु
- #!/bin/bash -e
-
- help ()
- {
- echo' ================================================================ '
- echo' --ssl-domain: 生成ssl证书需要的主域名,如不指定则默认为www.rancher.local,如果是ip访问服务,则可忽略;'
- echo' --ssl-trusted-ip: 一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;'
- echo' --ssl-trusted-domain: 如果想多个域名访问,则添加扩展域名(SSL_TRUSTED_DOMAIN),多个扩展域名用逗号隔开;'
- echo' --ssl-size: ssl加密位数,默认2048;'
- echo' --ssl-cn: 国家代码(2个字母的代号),默认CN;'
- echo' 使用示例:'
- echo' ./create_self-signed-cert.sh --ssl-domain=www.test.com --ssl-trusted-domain=www.test2.com '
- echo' --ssl-trusted-ip=1.1.1.1,2.2.2.2,3.3.3.3 --ssl-size=2048 --ssl-date=3650'
- echo' ================================================================'
- }
-
- case "$1" in
- -h|--help) help; exit;;
- esac
-
- if [[ $1 == '' ]];then
- help;
- exit;
- fi
-
- CMDOPTS="$*"
- for OPTS in $CMDOPTS;
- do
- key=$(echo ${OPTS} | awk -F"=" '{print $1}' )
- value=$(echo ${OPTS} | awk -F"=" '{print $2}' )
- case "$key" in
- --ssl-domain) SSL_DOMAIN=$value ;;
- --ssl-trusted-ip) SSL_TRUSTED_IP=$value ;;
- --ssl-trusted-domain) SSL_TRUSTED_DOMAIN=$value ;;
- --ssl-size) SSL_SIZE=$value ;;
- --ssl-date) SSL_DATE=$value ;;
- --ca-date) CA_DATE=$value ;;
- --ssl-cn) CN=$value ;;
- esac
- done
-
- # CA相关配置
- CA_DATE=${CA_DATE:-3650}
- CA_KEY=${CA_KEY:-cakey.pem}
- CA_CERT=${CA_CERT:-cacerts.pem}
- CA_DOMAIN=cattle-ca
-
- # ssl相关配置
- SSL_CONFIG=${SSL_CONFIG:-$PWD/openssl.cnf}
- SSL_DOMAIN=${SSL_DOMAIN:-'www.rancher.local'}
- SSL_DATE=${SSL_DATE:-3650}
- SSL_SIZE=${SSL_SIZE:-2048}
-
- ## 国家代码(2个字母的代号),默认CN;
- CN=${CN:-CN}
-
- SSL_KEY=$SSL_DOMAIN.key
- SSL_CSR=$SSL_DOMAIN.csr
- SSL_CERT=$SSL_DOMAIN.crt
-
- echo -e "033[32m ---------------------------- 033[0m"
- echo -e "033[32m | 生成 SSL Cert | 033[0m"
- echo -e "033[32m ---------------------------- 033[0m"
-
- if [[ -e ./${CA_KEY} ]]; then
- echo -e "033[32m ====> 1. 发现已存在CA私钥,备份"${CA_KEY}"为"${CA_KEY}"-bak,然后重新创建 033[0m"
- mv ${CA_KEY} "${CA_KEY}"-bak
- openssl genrsa -out ${CA_KEY} ${SSL_SIZE}
- else
- echo -e "033[32m ====> 1. 生成新的CA私钥 ${CA_KEY} 033[0m"
- openssl genrsa -out ${CA_KEY} ${SSL_SIZE}
- fi
-
- if [[ -e ./${CA_CERT} ]]; then
- echo -e "033[32m ====> 2. 发现已存在CA证书,先备份"${CA_CERT}"为"${CA_CERT}"-bak,然后重新创建 033[0m"
- mv ${CA_CERT} "${CA_CERT}"-bak
- openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"
- else
- echo -e "033[32m ====> 2. 生成新的CA证书 ${CA_CERT} 033[0m"
- openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"
- fi
-
- echo -e "033[32m ====> 3. 生成Openssl配置文件 ${SSL_CONFIG} 033[0m"
- cat > ${SSL_CONFIG} <<EOM
- [req]
- req_extensions = v3_req
- distinguished_name = req_distinguished_name
- [req_distinguished_name]
- [ v3_req ]
- basicConstraints = CA:FALSE
- keyUsage = nonRepudiation, digitalSignature, keyEncipherment
- extendedKeyUsage = clientAuth, serverAuth
- EOM
-
- if [[ -n ${SSL_TRUSTED_IP} || -n ${SSL_TRUSTED_DOMAIN} || -n ${SSL_DOMAIN} ]]; then
- cat >> ${SSL_CONFIG} <<EOM
- subjectAltName = @alt_names
- [alt_names]
- EOM
- IFS=","
- dns=(${SSL_TRUSTED_DOMAIN})
- dns+=(${SSL_DOMAIN})
- for i in "${!dns[@]}"; do
- echo DNS.$((i+1)) = ${dns[$i]} >> ${SSL_CONFIG}
- done
-
- if [[ -n ${SSL_TRUSTED_IP} ]]; then
- ip=(${SSL_TRUSTED_IP})
- for i in "${!ip[@]}"; do
- echo IP.$((i+1)) = ${ip[$i]} >> ${SSL_CONFIG}
- done
- fi
- fi
-
- echo -e "033[32m ====> 4. 生成服务SSL KEY ${SSL_KEY} 033[0m"
- openssl genrsa -out ${SSL_KEY} ${SSL_SIZE}
-
- echo -e "033[32m ====> 5. 生成服务SSL CSR ${SSL_CSR} 033[0m"
- openssl req -sha256 -new -key ${SSL_KEY} -out ${SSL_CSR} -subj "/C=${CN}/CN=${SSL_DOMAIN}" -config ${SSL_CONFIG}
-
- echo -e "033[32m ====> 6. 生成服务SSL CERT ${SSL_CERT} 033[0m"
- openssl x509 -sha256 -req -in ${SSL_CSR} -CA ${CA_CERT}
- -CAkey ${CA_KEY} -CAcreateserial -out ${SSL_CERT}
- -days ${SSL_DATE} -extensions v3_req
- -extfile ${SSL_CONFIG}
-
- echo -e "033[32m ====> 7. 证书制作完成 033[0m"
- echo
- echo -e "033[32m ====> 8. 以YAML格式输出结果 033[0m"
- echo "----------------------------------------------------------"
- echo "ca_key: |"
- cat $CA_KEY | sed 's/^//'
- echo
- echo "ca_cert: |"
- cat $CA_CERT | sed 's/^//'
- echo
- echo "ssl_key: |"
- cat $SSL_KEY | sed 's/^//'
- echo
- echo "ssl_csr: |"
- cat $SSL_CSR | sed 's/^//'
- echo
- echo "ssl_cert: |"
- cat $SSL_CERT | sed 's/^//'
- echo
-
- echo -e "033[32m ====> 9. 附加CA证书到Cert文件 033[0m"
- cat ${CA_CERT} >> ${SSL_CERT}
- echo "ssl_cert: |"
- cat $SSL_CERT | sed 's/^//'
- echo
-
- echo -e "033[32m ====> 10. 重命名服务证书 033[0m"
- echo "cp ${SSL_DOMAIN}.key tls.key"
- cp ${SSL_DOMAIN}.key tls.key
- echo "cp ${SSL_DOMAIN}.crt tls.crt"
- cp ${SSL_DOMAIN}.crt tls.crt
हेति
bash ./key.sh --ssl-domain=rancher.k8s-test.com--ssl-size=2048 --ssl-date=3650
उत्पन्नसञ्चिका यथा भवति
3. गुप्तनामस्थानं रचयन्तु
kubectl create namespace cattle-system
4. सेवाप्रमाणपत्रं निजीकुंजीसिफरपाठं च
- kubectl -n cattle-system create secret tls tls-rancher-ingress
- --cert=tls.crt
- --key=tls.key
यदि भवन्तः प्रमाणपत्रं प्रतिस्थापयितुं प्रवृत्ताः सन्ति तर्हि भवन्तः उपयोक्तुं शक्नुवन्तिkubectl -n cattle-system delete secret tls-rancher-ingress
लोपयितुंtls-rancher-ingress
ciphertext, ततः नूतनं ciphertext निर्मातुं उपरिष्टात् आदेशस्य उपयोगं कुर्वन्तु । यदि भवान् निजी CA द्वारा हस्ताक्षरितं प्रमाणपत्रं उपयुङ्क्ते तर्हि नूतनं प्रमाणपत्रं केवलं तदा एव प्रतिस्थापयितुं शक्नोति यदा तत् वर्तमानप्रमाणपत्रस्य समानेन CA द्वारा हस्ताक्षरितम् अस्ति ।
5.ca प्रमाणपत्र गुप्तपाठ
- kubectl -n cattle-system create secret generic tls-ca
- --from-file=cacerts.pem=./cacerts.pem
6. संस्थापनपशुपालकं निष्पादयन्तु
- helm install rancher rancher-latest/rancher
- --namespace cattle-system
- --set hostname=rancher.k8s-test.com
- --set bootstrapPassword=admin
- --set ingress.tls.source=secret
- --set privateCA=true
7. स्थितिं पश्यन्तु तथा च रोलआउट् सफलं भवितुं प्रतीक्षन्तु।
- kangming@ubuntu26:~$ kubectl -n cattle-system rollout status deploy/rancher
- deployment "rancher" successfully rolled out
- kangming@ubuntu26:~$ kubectl -n cattle-system get deploy rancher
- NAMEREADY UP-TO-DATE AVAILABLE AGE
- rancher 3/3 33 40m
यदा rancher इत्यस्य फली सज्जा भवति तदा भवान् ब्राउजर्: rancher.k8s-test.com इत्यस्य माध्यमेन तत् प्राप्तुं शक्नोति। इदं डोमेननाम भारसंतुलननोड् मध्ये मैप् कर्तुं शक्यते । यतः उपरिष्टात् संस्थापनं पूर्वनिर्धारितरूपेण सर्वेषु कार्यरत-नोड्-मध्ये एकं pod आरभते । अतः अधः nginx त्रयाणां नोड्स् इत्यस्य 80 तथा 443 पोर्ट् विन्यस्यति ।
- kubectl get pods --all-namespaces
- 或者
- kubectl get pods -n cattle-system
-
- #查看rancher pod状态
- kubectl describe podrancher-ff955865-29ljr --namespace=cattle-system
- #一次看所有rancher pod
- kubectl -n cattle-system describe pods -l app=rancher
उपरिष्टात् होस्ट्-नाम भारसंतुलननोड् प्रति समाधानं कर्तुं शक्यते, यत् प्रायः keepalived द्वारा वर्चुअलाइज्ड् VIP भवति, सुविधायै अत्र केवलम् एकः LB नोड् उपयुज्यते, यत् प्रत्यक्षतया 24 यावत् समाधानं भवति, ततः 24 इत्यस्य nginx इत्यस्य माध्यमेन भारसंतुलनं क्रियते
rancher pod’s logs पश्यन्तु
- kubectl get pods -n cattle-system
-
- kubectl -n cattle-system logs -f rancher-5d9699f4cf-72wgp
केवलं 24 लोड बैलेन्सिंग् नोड् इत्यत्र विन्यस्य स्क्रिप्ट् द्वारा उत्पन्नं प्रमाणपत्रं 24 इति प्रतिलिख्यताम्
सुदो वि /आदि/nginx/nignx.conf
- stream {
- upstream rancher_servers_http {
- least_conn;
- server 192.168.43.26:80 max_fails=3 fail_timeout=5s;
- server 192.168.43.27:80 max_fails=3 fail_timeout=5s;
- server 192.168.43.28:80 max_fails=3 fail_timeout=5s;
- }
- server {
- listen 80;
- proxy_pass rancher_servers_http;
- }
-
- upstream rancher_servers_https {
- least_conn;
- server 192.168.43.26:443 max_fails=3 fail_timeout=5s;
- server 192.168.43.27:443 max_fails=3 fail_timeout=5s;
- server 192.168.43.28:443 max_fails=3 fail_timeout=5s;
- }
- server {
- listen 443;
- proxy_pass rancher_servers_https;
- }
- }
अभिगमः:https://rancher.k8s-test.com
बूटस्ट्रैप् गुप्तशब्दः व्यवस्थापकः अस्ति, प्रवेशलेखः व्यवस्थापकः अस्ति, गुप्तशब्दस्य कृते यादृच्छिकसङ्केतस्य उपयोगं कुर्वन्तु: 1BgV0yLx19YkIhOv
प्रबन्धनपृष्ठे प्रवेशार्थं continue नुदन्तु ।
पूर्वापेक्षां पश्यन्तु, rke मार्गेण k8s क्लस्टरं संस्थापयन्तु, पतवारपर्यावरणं च सज्जीकरोतु ।
1. पतवारगोदामम् योजयन्तु
- helm repo add rancher-latest
- https://releases.rancher.com/server-charts/latest
2. नामस्थानं रचयन्तु
kubectl create namespace cattle-system
3. प्रमाणपत्रप्रबन्धनार्थं Rancher-जनितं TLS प्रमाणपत्रपद्धतिं चिनोतु।
4. cert-manager संस्थापयन्तु तदा एव संस्थापनस्य आवश्यकता भवति यदा भवान् Rancher-जनित-TLS प्रमाणपत्र-विधिं चिनोति ।
- # If you have installed the CRDs manually instead of with the `--set installCRDs=true` option added to your Helm install command, you should upgrade your CRD resources before upgrading the Helm chart:
-
- kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.crds.yaml
-
- # Add the Jetstack Helm repository
- helm repo add jetstack https://charts.jetstack.io
-
- # Update your local Helm chart repository cache
- helm repo update
-
- # Install the cert-manager Helm chart
- helm install cert-manager jetstack/cert-manager
- --namespace cert-manager
- --create-namespace
- --version v1.7.1
cert-manager सम्यक् संस्थापितम् इति सत्यापयन्तु
kubectl get pods --namespace cert-manager
5. rancher संस्थाप्य hostname कृते नकली डोमेननाम उपयुज्यताम्, अतः rancher IP उजागरं करिष्यति ।
- helm install rancher rancher-latest/rancher
- --namespace cattle-system
- --set hostname=rancher.my.org
- --set bootstrapPassword=admin
6. रोलआउट् सफलतां प्रतीक्ष्यताम्
- kangming@ubuntu26:~$ kubectl -n cattle-system rollout status deploy/rancher
- deployment "rancher" successfully rolled out
- kangming@ubuntu26:~$ kubectl -n cattle-system get deploy rancher
- NAMEREADY UP-TO-DATE AVAILABLE AGE
- rancher 3/3 33 40m
सफलतायाः अनन्तरं केवलं rancher.my.org इति डोमेन् नाम परीक्षणार्थं त्रीणि नोड् मध्ये मैप् कुर्वन्तु पृष्ठं सफलतया दृष्ट्वा संस्थापनं ठीकम् इति दर्शयति । पश्चात्, भवद्भिः केवलं भारसन्तुलनं एकीकृतप्रवेशं विन्यस्तं कर्तव्यम् । निम्नलिखितपृष्ठं दृष्ट्वा वर्तमानस्थापनस्य समस्या नास्ति इति सिद्धयति । ध्यानं कुर्वन्तु यत् डोमेननाम केवलं अभिगमनाय एव उपयोक्तुं शक्यते, तथा च पृष्ठं सामान्यतया IP अभिगमनद्वारा द्रष्टुं न शक्यते ।
सर्वे नोड्स् rancher अभिगन्तुं शक्नुवन्ति इति मैन्युअल् रूपेण परीक्षणानन्तरं, भवद्भिः nginx भारसंतुलनं विन्यस्तं कर्तव्यं यत् भवन्तः प्रत्यक्षतया चतुःस्तरीयं अग्रेषणं विन्यस्तुं शक्नुवन्ति, येन भवन्तः प्रमाणपत्रं विन्यस्तुं न शक्नुवन्ति ।
सुदो वि /आदि/nginx/nignx.conf
- stream {
- upstream rancher_servers_http {
- least_conn;
- server 192.168.43.26:80 max_fails=3 fail_timeout=5s;
- server 192.168.43.27:80 max_fails=3 fail_timeout=5s;
- server 192.168.43.28:80 max_fails=3 fail_timeout=5s;
- }
- server {
- listen 80;
- proxy_pass rancher_servers_http;
- }
-
- upstream rancher_servers_https {
- least_conn;
- server 192.168.43.26:443 max_fails=3 fail_timeout=5s;
- server 192.168.43.27:443 max_fails=3 fail_timeout=5s;
- server 192.168.43.28:443 max_fails=3 fail_timeout=5s;
- }
- server {
- listen 443;
- proxy_pass rancher_servers_https;
- }
- }
क्लायन्ट् इत्यस्य होस्ट्स् सञ्चिकां विन्यस्यताम्, परीक्षणं उत्तीर्णं करोति, nginx LB पोर्टल् इत्यत्र प्रवेशं कुर्वन् सामान्यतया rancher इत्यस्य अभिगमनं कर्तुं शक्यते ।