k3s是rancher发布的一款轻量级Kubernetes,是经CNCF一致性认证的Kubernetes发行版。官网地址:https://www.rancher.cn/k3s/ 本文记录安装及初步使用过程。
环境要求
硬件资源
建议至少使用2~3个机器节点搭建集群,保证可用性。
k3s集群内的机器节点主要包括server和agent两种角色。server也可以作为worker。
开放端口:
22/tcp 80/tcp 179/tcp 443/tcp 2376/tcp 2379/tcp 2380/tcp 3306/tcp 6379/tcp 6443/tcp 6783/tcp 8443/tcp 9090/tcp 9099/tcp 9100/tcp 9443/tcp 9796/tcp 10250/tcp 10254/tcp 30000-32767/tcp 500/udp 4500/udp 4789/udp 6783-6784/udp 8472/udp 30000-32767/udp
安装
k3s
- server端:
xxx.xxx.xxx.xxx为server公共ip
安装完成后,查看token:curl -sfL https://get.k3s.io | sh -s - server \ --datastore-endpoint="mysql://[user]:[password]@tcp([url])/k3s" --tls-san xxx.xxx.xxx.xxx --node-external-ip xxx.xxx.xxx.xxx \ --docker --disable traefik --advertise-address=xxx.xxx.xxx.xxx --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 644
cat /var/lib/rancher/k3s/server/node-token
- agent端:
yyy.yyy.yyy.yyy为agent公共ipexport K3S_TOKEN=token export K3S_URL=https://xxx.xxx.xxx.xxx:6443 export INSTALL_K3S_EXEC="--docker --node-external-ip yyy.yyy.yyy.yyy" curl -sfL https://get.k3s.io | sh -s -
rancher
rancher个人使用体验一般,可选安装。docker方式如下:
docker run -d --restart=unless-stopped --privileged -p 8080:80 -p 9443:443 rancher/rancher
重置密码:docker exec -ti <container_id> reset-password
admin
k8s dashboard
k8s dashboard是k8s官方提供的k8s图形化管理界面。安装如下:
GITHUB_URL=https://github.com/kubernetes/dashboard/releases
VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
k3s kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/${VERSION_KUBE_DASHBOARD}/aio/deploy/recommended.yaml
安装完成后,服务会运行在8443端口上。以下命令可以检查在k8s上的部署情况
kubectl get deployment --namespace=kubernetes-dashboard kubernetes-dashboard
kubectl get service --namespace=kubernetes-dashboard kubernetes-dashboard
kubectl --namespace=kubernetes-dashboard get pod -o wide | grep dashboard
k8s dashboard如果不经过https配置,每次访问需要生成token,token过期需要重新生成,token方式如下:
yum install socat(防止无法转发), 临时开放10443供访问:
kubectl port-forward --namespace kubernetes-dashboard service/kubernetes-dashboard 10443:443 --address 0.0.0.0
k3s kubectl -n kubernetes-dashboard create token admin-user
kuboard
kuboard也是一款k8s图形化管理界面,使用起来更加简洁方便。docker方式如下(可自定义端口及挂载):
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 8070:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://xxx.xxx.xxx.xxx:8070" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /var/lib/docker/kuboard-data:/data \
eipwork/kuboard:v3
之后就可以通过kuboard方便地部署服务了
使用
创建工作负载:
填写镜像拉取地址:
添加外部访问接口(图中是32808):
追踪服务日志:
docker私服搭建
后续会详细写一篇介绍
转载请标明原文链接:https://freaxjj.site/k3s/