快速搭建k8s集群,使用kubekey搭建简单搭建

1. 安装环境依赖

yum install -y socat conntrack ebtables ipset

2. 下载KubeKey工具,下载好后就会出现 kk 这个可执行文件

# 确保您从正确的区域下载 KubeKey,即在国内下载速度更快
export KKZONE=cn
# 下载kubekey
curl -sfL https://get-kk.kubesphere.io | sh -

3. 使用KubeKey生成一个k8s集群启动模板k8s.yaml,编辑好账号密码后保存

./kk create config --with-kubernetes v1.24.3 -f k8s.init.yaml

模板如下:

apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: master, address: 10.0.0.65, internalAddress: 10.0.0.65, user: root, password: "root"}
  - {name: node1, address: 10.0.0.66, internalAddress: 10.0.0.66, user: root, password: "root"}
  - {name: node2, address: 10.0.0.133, internalAddress: 10.0.0.133, user: root, password: "root"}
  roleGroups:
    etcd:
    - master
    control-plane:
    - master
    worker:
    - master
    - node1
    - node2
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.24.3
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: containerd
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: ""
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons: []

 需要调整地方:

4.  执行刚才的文件

./kk create cluster -f k8s.init.yaml

此时界面会安装下载各种组件并安装,大概等待5-10分钟即可完成安装

6. 安装完成后验证

# 查看所有pod
kubectl get pods -A

     

7.kubectl 其他 操作

#查看所有pod,服务
kubectl get pods,svc -A

#获取所有的pod
kubectl get pods --all-namespaces -o wide

#使用yaml文件创建pod
kubectl create -f YAML_FILE.yaml

#使用yaml文件删除pod
kubectl delete -f YAML_FILE.yaml

#显示指定命名空间的pod的日志
kubectl logs POD_NAME -n kube-system

#获取集群状态
kubectl get cs

#获取指定命名空间的服务
kubectl get svc -n kube-system

#获取集群信息
kubectl cluster-info

#获取集群节点信息
kubectl get nodes

#获取全部节点
kubectl get nodes
#删除节点
kubectl delete node 192.168.2.152



#删除节点中的node
#1: 在master节点上执行
kubectl drain NODE_NAME --delete-local-data --force --ignore-daemonsets
kubectl delete node node2

#2: 在node节点上执行
kubeadm reset
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/

8. kubectl日志

# 获取pod名称或与pod相关的标签
 
kubectl get pods --show-labels
 
# 查看pod日志
 
kubectl logs <podName>
 
# 查看上一个pod的日志  崩溃的pod
 
kubectl logs --previous <podName>
 
# 如果一个 Pod 有多个副本,并且具有关联的标签(例如 app=my-app),您可以使用它来查看来自具有该标签的所有 Pod 的日志
 
kubectl logs -l app=my-app
 
# 查看pod 最后100行日志
 
kubectl logs --tail=100 <podName>
 
# 查看pod 最后一个小时的日志
 
kubectl logs --since=1h <podName>
 
# 查看最后15分钟的日志
 
kubectl logs --since=15m <podName>
 
# 实时输出日志
 
kubectl logs -f <podName>
 
# 实时输出最后100行日志
 
kubectl logs --tail=100 -f <podName>

安装kubeSphere

1. (可选) 如果需要安装kubeSphere界面,则可以执行

./kk create cluster --with-kubesphere v3.3.1 --container-manager containerd

大概10-15分钟后安装完后,显示这个 

上面的http://10.0.0.6:30880 这个内网地址,要换成你主机的公网地址,并且在安全组放行 30880 这个端口,再访问 http://公网ip:30880  就可以了。

界面长这样

2. 如果要添加节点

则先在新节点安装好环境依赖

yum install -y socat conntrack ebtables ipset

然后再回到主节点,修改第3步的 k8s.init.yml 文件,增加node节点,再执行

./kk add nodes -f  k8s.init.yaml

额外:

如果是采用是docker做容器的话,若拉取镜像失败,可以改一下对应节点上的镜像改为国内源

方法:

1. 编辑或新建配置文件 /etc/docker/daemon.json

{
    "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
    "live-restore": true
}

2. 重新启动docker服务

systemctl restart docker
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值