This change addresses a long-standing issue in rST documentation imported from XML. That import process added backslash escapes in front of various characters. The three most common being '(', ')', and '_'. These instances are removed. Signed-off-by: Ron Stone <ronald.stone@windriver.com> Change-Id: Id43a9337ffcd505ccbdf072d7b29afdb5d2c997e
4.9 KiB
Install Kubectl and Helm Clients Directly on a Host
As an alternative to using the container-backed Remote for kubectl and helm, you can install these commands directly on your remote host.
Kubectl and helm installed directly on the remote host provide the best CLI behaviour, especially for CLI commands that reference local files or require a shell.
The following procedure shows you how to configure the kubectl
and kubectl
clients directly
on a remote host, for an admin user with cluster-admin
clusterrole. If using a non-admin user with only role
privileges within a private namespace, additional configuration is
required in order to use helm
.
You will need the following information from your administrator:
- the floating IP address of the
- login credential information; in this example, it is the "TOKEN" for a local Kubernetes ServiceAccount.
- your kubernetes namespace
On the workstation, install the
kubectl
client on an Ubuntu host by performing the following actions on the remote Ubuntu system.Install the
kubectl
client CLI.% sudo apt-get update % sudo apt-get install -y apt-transport-https % curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add % echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list % sudo apt-get update % sudo apt-get install -y kubectl
Set up the local configuration and context.
Note
In order for your remote host to trust the certificate used by the K8s API, you must ensure that the k8s_root_ca_cert provided by your administrator is a trusted CA certificate by your host. Follow the instructions for adding a trusted CA certificate for the operating system distribution of your particular host.
If your administrator does not provide a k8s_root_ca_cert at the time of installation, then specify –insecure-skip-tls-verify, as shown below.
% kubectl config set-cluster mycluster --server=https://<$CLUSTEROAMIP>:6443 --insecure-skip-tls-verify % kubectl config set-credentials dave-user@mycluster --token=$MYTOKEN % kubectl config set-context dave-user@mycluster --cluster=mycluster --user admin-user admin-user@mycluster --namespace=$MYNAMESPACE % kubectl config use-context dave-user@mycluster
Test remote
kubectl
access.% kubectl get pods -o wide NAME READY STATUS RE- AGE IP NODE NOMINA- READINESS STARTS TED NODE GATES nodeinfo-648f.. 1/1 Running 0 62d 172.16.38.83 worker-4 <none> <none> nodeinfo-648f.. 1/1 Running 0 62d 172.16.97.207 worker-3 <none> <none> nodeinfo-648f.. 1/1 Running 0 62d 172.16.203.14 worker-5 <none> <none> tiller-deploy.. 1/1 Running 0 27d 172.16.97.219 worker-3 <none> <none>
On the workstation, install the
helm
client on an Ubuntu host by performing the following actions on the remote Ubuntu system.Install
helm
client.% wget https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz % tar xvf helm-v2.13.1-linux-amd64.tar.gz % sudo cp linux-amd64/helm /usr/local/bin
In order to use
helm
, additional configuration is required. For more information, seeConfiguring Remote Helm Client <configuring-remote-helm-client>
.
Related information
Configuring Container-backed Remote CLIs and Clients
<kubernetes-user-tutorials-configuring-container-backed-remote-clis-and-clients>
Using Container-backed Remote CLIs and Clients
<using-container-based-remote-clis-and-clients>
Configuring Remote Helm Client <configuring-remote-helm-client>