安装kubectlcurl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.4/bin/linux/amd64/kubectlchmod +x ./kubectlsudo mv ./kubectl /usr/local/bin/kubectl安装k3dcurl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash# 单masterk3d createexport KUBECONFIG=$(k3d get-kubeconfig)# 集群1master +2 workerk3d create rancher/k3s:v1.0.0 --workers 2export KUBECONFIG=$(k3d get-kubeconfig)如果重复部署,注意删除$(k3d get-kubeconfig)所指向的config秘钥配置
k3d 常用命令
[root@riyimei ~]# curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bashPreparing to install k3d into /usr/local/bink3d installed into /usr/local/bin/k3dRun 'k3d --help' to see what you can do with it.
[root@riyimei ~]# which k3d/usr/local/bin/k3d[root@riyimei ~]# k3d versionk3d version v3.0.1k3s version v1.18.6-k3s1 (default)[root@riyimei ~]# k3d helphttps://k3d.io/k3d is a wrapper CLI that helps you to easily create k3s clusters inside docker.Nodes of a k3d cluster are docker containers running a k3s image.All Nodes of a k3d cluster are part of the same docker network.Usage:k3d [flags]k3d [command]Available Commands:cluster Manage cluster(s)completion Generate completion scripts for [bash, zsh, powershell | psh]help Help about any commandimage Handle container images.kubeconfig Manage kubeconfig(s)node Manage node(s)version Show k3d and default k3s versionFlags:-h, --help help for k3d--verbose Enable verbose output (debug logging)--version Show k3d and default k3s versionUse "k3d [command] --help" for more information about a command.[root@riyimei ~]#
部署
[root@riyimei ~]# k3d cluster create myclusterINFO[0000] Created network 'k3d-mycluster'INFO[0000] Created volume 'k3d-mycluster-images'INFO[0001] Creating node 'k3d-mycluster-server-0'INFO[0004] Pulling image 'docker.io/rancher/k3s:v1.18.6-k3s1'INFO[0011] Creating LoadBalancer 'k3d-mycluster-serverlb'INFO[0014] Pulling image 'docker.io/rancher/k3d-proxy:v3.0.1'INFO[0029] Cluster 'mycluster' created successfully!INFO[0029] You can now use it like this:kubectl cluster-info[root@riyimei ~]# kubectl cluster-infoKubernetes master is running at https://0.0.0.0:24588CoreDNS is running at https://0.0.0.0:24588/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyMetrics-server is running at https://0.0.0.0:24588/api/v1/namespaces/kube-system/services/https:metrics-server:/proxyTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.[root@riyimei ~]#[root@riyimei ~]# k3d kubeconfig merge mycluster --switch-context/root/.k3d/kubeconfig-mycluster.yaml[root@riyimei ~]#[root@riyimei ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk3d-mycluster-server-0 Ready master 6m47s v1.18.6+k3s1[root@riyimei ~]#[root@riyimei ~]# kubectl version --shortClient Version: v1.17.4Server Version: v1.18.6+k3s1[root@riyimei ~]#
[root@riyimei ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES50881422e646 rancher/k3d-proxy:v3.0.1 "/bin/sh -c nginx-pr…" 4 minutes ago Up 4 minutes 80/tcp, 0.0.0.0:24588->6443/tcp k3d-mycluster-serverlb218c19e52163 rancher/k3s:v1.18.6-k3s1 "/bin/k3s server --t…" 4 minutes ago Up 4 minutes k3d-mycluster-server-0
[root@riyimei ~]# k3d clusterManage cluster(s)Usage:k3d cluster [flags]k3d cluster [command]Available Commands:create Create a new clusterdelete Delete cluster(s).list List cluster(s)start Start existing k3d cluster(s)stop Stop existing k3d cluster(s)Flags:-h, --help help for clusterGlobal Flags:--verbose Enable verbose output (debug logging)Use "k3d cluster [command] --help" for more information about a command.[root@riyimei ~]#
[root@riyimei ~]# k3d cluster listNAME SERVERS AGENTS LOADBALANCERmycluster 1/1 0/0 truemycluster2 1/1 0/0 true[root@riyimei ~]#
[root@riyimei ~]# k3d cluster listNAME SERVERS AGENTS LOADBALANCERmycluster 1/1 0/0 truemycluster2 1/1 0/0 true[root@riyimei ~]# k3d cluster stop mycluster2INFO[0000] Stopping cluster 'mycluster2'[root@riyimei ~]# k3d cluster listNAME SERVERS AGENTS LOADBALANCERmycluster 1/1 0/0 truemycluster2 0/1 0/0 true[root@riyimei ~]#
