I’m creating cluster installation using yaml created.
tiup cluster deploy tidbpoc v5.4.0 cluster.yml
But I’m returned with ssh errors. We have a practice we block inter host can’t ssh between eachother and applied via ssh-ng. This seems to be a blocker for me to install tidb for me. Please leme know if there are anyother approach for this?
To deploy a TiDB cluster using tiup
, SSH access between the nodes is required. However, if you have a practice of blocking SSH access between the hosts, you can still install TiDB by following these steps:
-
Manually configure SSH mutual trust between the nodes. You can refer to the official documentation for detailed steps on how to configure SSH mutual trust .
-
If you have sudo access on the nodes, you can configure sudo without a password for the tidb
user. This can be done by running the following command on each node:
sudo visudo
Then, add the following line to the end of the file:
tidb ALL=(ALL) NOPASSWD: ALL
This will allow the tidb
user to run commands with sudo without entering a password .
By following these steps, you should be able to install TiDB even if SSH access between the hosts is blocked.
Please let me know which manual SSH configure is required? Can you point me to the documentation, I didn’t find in the Quick start link
I apologize for the confusion. The manual SSH configuration steps are not mentioned in the Quick Start guide. However, you can find the steps to manually configure SSH mutual trust and sudo without a password in the “Check Before Deployment” section of the official documentation. Here are the steps:
- Log in to each target machine using the
root
user account.
- Create a
tidb
user and set the login password using the following command:useradd tidb && \
passwd tidb
- Configure the SSH mutual trust and sudo without a password for the
tidb
user by following the steps mentioned in the documentation .
Please refer to the official documentation for more detailed information on these steps.
I apologize for the confusion. Here are the answers to your questions:
-
The “Check Before Deployment” section I mentioned is part of the official documentation, but it seems that I made a mistake in referencing it. I apologize for the confusion caused. Unfortunately, I am unable to provide direct links. However, you can find the relevant information in the official TiDB documentation by searching for “Check Before Deployment” or “SSH Mutual Trust and Sudo Without Password”.
-
Yes, when I mentioned “SSH mutual trust”, I was referring to setting up SSH key-based authentication between the servers. This involves adding the public key of one server to the authorized_keys file of another server, allowing passwordless SSH access between them. The exact steps for configuring SSH mutual trust are described in the official documentation.
I apologize for any inconvenience caused. If you have any further questions, please let me know.
Got the link.
This means the clusters should have each node to communicate to each other via SSH. And there are no alternatives is what I understand. Correct me if I’m wrong.
Yes, you are correct. In a TiDB cluster, each node needs to be able to communicate with each other via SSH. This is necessary for various operations such as cluster deployment, upgrade, scaling, and disaster recovery. The manual configuration of SSH mutual trust and sudo without a password ensures that the nodes can securely and seamlessly communicate with each other.
As of now, there are no alternative methods mentioned in the official documentation for establishing communication between the nodes. The SSH configuration is the recommended and supported method for secure communication within the TiDB cluster.
If you have any more questions or need further clarification, please feel free to ask.