部署K8S 1.31 (containerd)

打印 上一主题 下一主题

主题 835|帖子 835|积分 2505

1、基础情况准备

当前国内无法访问docker.hub因此必要提前准备可以访问的镜像仓库
1、装备IP地址规划

名称IP地址体系Master192.168.110.133Centos stream8Slave01192.168.110.134Centos stream8Slave02192.168.110.135Centos stream8 2、操作体系要求

  1. # 1、关闭防火墙/SELINUX
  2. ufw status
  3. ufw disabel
  4. # 2、禁用selinux
  5. sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  6. setenforce 0
  7. #3、关闭swap分区,K8S在使用CPU和内存为物理内存和CPU,Cgroup相关驱动无法对其进行有效管理
  8. sed -ri 's/.*swap.*/#&/' /etc/fstab
  9. swapoff -a   # 查查是否关闭swap分区
  10. # 4、设置主机名称
  11. vim /etc/hosts
  12. 192.168.110.133 Master
  13. 192.168.110.134 Slave01
  14. 192.168.110.135 Slave02
  15. # 5、同步时间
  16. #查看时区,时间
  17. date
  18. #先查看时区是否正常,不正确则替换为上海时区
  19. timedatectl set-timezone Asia/Shanghai
  20. #安装chrony,联网同步时间
  21. apt install chrony -y && systemctl enable --now chronyd
  22. # 6、配置桥接的IPV4流量传递到iptables的链
  23. cat >> /etc/sysctl.d/k8s.conf <<EOF
  24. net.bridge.bridge-nf-call-ip6tables=1
  25. net.bridge.bridge-nf-call-iptables=1
  26. net.ipv4.ip_forward=1
  27. vm.swappiness=0
  28. EOF
  29. sysctl --system
  30. # 7、服务器之间设置免密登录
  31. ssh-keygen -t rsa
  32. ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.110.131
  33. ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.110.132
复制代码
2、利用Kubeadm安装K8s(全部主机)

1、配置内核转发以及网桥过滤

  1. # 创建加载内核模块 (主机启动后自动加载)
  2. cat << EOF | tee /etc/modules-load.d/k8s.conf
  3. overlay
  4. br_netfilter
  5. EOF
  6. # 手动执行,加载模块
  7. modprobe overlay
  8. modprobe br_netfilter
  9. # 查看以及已经加载模块
  10. lsmod | egrep "overlay"
  11. lsmod | egrep "br_netfilter"
  12. # 添加网桥过滤以及内核转发配置文件
  13. cat >> /etc/sysctl.d/k8s.conf <<EOF
  14. net.bridge.bridge-nf-call-ip6tables=1
  15. net.bridge.bridge-nf-call-iptables=1
  16. net.ipv4.ip_forward=1
  17. vm.swappiness=0
  18. EOF
  19. # 加载内核
  20. sysctl --system
复制代码
2、安装ipset 以及 ipvsadm

  1. apt install ipset ipvsadm -y
  2. cat << EOF | tee /etc/modules-load.d/ipvs.conf
  3. ip_vs
  4. ip_vs_rr
  5. ip_vs_wrr
  6. ip_vs_sh
  7. ip_vs_sh
  8. nf_conntrack
  9. EOF
  10. # 创建模块加载脚本
  11. cat << EOF | tee ipvs.sh
  12. #!/bin/sh
  13. modprobe -- ip_vs
  14. modprobe -- ip_vs_rr
  15. modprobe -- ip_vs_wrr
  16. modprobe -- ip_vs_sh
  17. modprobe -- ip_conntrack
  18. EOF
  19. # 执行脚本,加载模块
  20. sh ipvs.sh
复制代码
3、容器运行时与containerd(全部主机)

1、安装containerd(二进制安装)

  1. # 1、安装containerd
  2. wget https://github.com/containerd/containerd/releases/download/v1.7.14/containerd-1.7.14-linux-amd64.tar.gz
  3. tar xvf containerd-1.7.14-linux-amd64.tar.gz
  4. #解压出来一个bin目录,containerd可执行文件都在bin目录里面
  5. mv bin/* /usr/local/bin/
  6. wget https://github.com/containerd/containerd/releases/download/v1.7.22/cri-containerd-1.7.22-linux-amd64.tar.gz
  7. tar xf cri-containerd-1.7.22-linux-amd64.tar.gz -C /
复制代码
2、Containerd配置文件修改,并启动containerd

  1. mkdir /etc/containerd
  2. containerd config default > /etc/containerd/config.toml
  3. # 修改配置文件,修改pause版本,1.29以后为3.9
  4. vim /etc/containerd/config.toml
  5. sandbox_image = "registry.k8s.io/pause:3.9"
  6. # 修改镜像仓库地址
  7. sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
  8. # 修改指定内核驱动为Cgroup,139行,修改runc中的配置
  9. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  10. SystemdCgroup = true
  11. #启动containerd
  12. systemctl enabled --now containerd
复制代码
4、K8S集群部署(全部主机)

1、下载安装文件

  1. sudo apt-get update
  2. # apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
  3. sudo apt-get install -y apt-transport-https ca-certificates curl gpg
  4. curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  5. # 添加kubernetes仓库
  6. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
  7. # 镜像仓库
  8. apt-get update && apt-get install -y apt-transport-https
  9. curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.31/deb/Release.key |
  10.     gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  11. echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.31/deb/ /" |
  12.     tee /etc/apt/sources.list.d/kubernetes.list
  13. apt-get update
  14. apt-get install -y kubelet kubeadm kubectl
  15. # 获取版本
  16. apt-cache madison kubeadm
  17. # 安装指定版本
  18. apt install -y kubelet=1.31.0-00 kubeadm=1.31.0-00 kubectl=1.31.0-00
  19. #安装最新版本
  20. # 安装最新版本,并锁定版本
  21. sudo apt-get update
  22. sudo apt-get install -y kubelet kubeadm kubectl
  23. #锁定版本
  24. sudo apt-mark hold kubelet kubeadm kubectl
  25. # 取消版本锁定
  26. sudo apt-mark unhold kubelet kubeadm kubectl
复制代码
2、配置Kubelet

  1. # 为了实现容器运行时使用cgroupdrive与kubelet使用的cgroup的一致性
  2. vim /etc/default/kubelet
  3. KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
  4. # 设置kubelet为开机自启动,由于当前没有生成配置文件,集群初始化后自启动
  5. systemctl enable kubelet
复制代码
3、Master准备初始化配置文件

1、通过kubeadm-config文件在线初始化

  1. # 生成配置文件模板
  2. kubeadm  config print init-defaults > kubeadm-config.yaml
  3. # 修改yaml文件
  4. vim kubeadm-config.yaml
  5. advertiseAddress: 192.168.110.130
  6. name: Master
  7. serviceSubnet: 10.96.0.0/12
  8. podSubnet: 10.244.0.0/16
  9. # 使用阿里云镜像仓库
  10. # imageRepository: registry.aliyuncs.com/google_containers (如果不能直接拉去镜像的)
  11. #查看指定版本的镜像
  12. kubeadm config images list --kubernetes-version=v1.31.0
  13. registry.k8s.io/kube-apiserver:v1.31.1
  14. registry.k8s.io/kube-controller-manager:v1.31.1
  15. registry.k8s.io/kube-scheduler:v1.31.1
  16. registry.k8s.io/kube-proxy:v1.31.1
  17. registry.k8s.io/coredns/coredns:v1.11.3
  18. registry.k8s.io/pause:3.10
  19. registry.k8s.io/etcd:3.5.15-0
  20. # 使用阿里云镜像仓库
  21. kubeadm  config images list --kubernetes-version=v1.31.1 --image-repository=registry.aliyuncs.com/google_containers
  22. registry.aliyuncs.com/google_containers/kube-apiserver:v1.31.1
  23. registry.aliyuncs.com/google_containers/kube-controller-manager:v1.31.1
  24. registry.aliyuncs.com/google_containers/kube-scheduler:v1.31.1
  25. registry.aliyuncs.com/google_containers/kube-proxy:v1.31.1
  26. registry.aliyuncs.com/google_containers/coredns:v1.11.3
  27. registry.aliyuncs.com/google_containers/pause:3.10
  28. registry.aliyuncs.com/google_containers/etcd:3.5.15-0
  29. #下载镜像
  30. kubeadm  config images pull --kubernetes-version=v1.31.1
  31. #下载镜像(指定仓库)
  32. kubeadm  config images pull --kubernetes-version=v1.31.1 --image-repository=registry.aliyuncs.com/google_containers
  33. #crictl /crt images 查看下载的镜像
  34. ctr -n=k8s.io images list
  35. #从国内镜像拉取
  36. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.8
  37. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.8
  38. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.8
  39. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.8
  40. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
  41. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0
  42. docker pull coredns/coredns:1.8.6
  43. #重新打标签
  44. #将拉取下来的images重命名为kubeadm config所需的镜像名字
  45. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.8 k8s.gcr.io/kube-apiserver:v1.23.8
  46. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.8 k8s.gcr.io/kube-controller-manager:v1.23.8
  47. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.8 k8s.gcr.io/kube-scheduler:v1.23.8
  48. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.8 k8s.gcr.io/kube-proxy:v1.23.8
  49. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6
  50. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0 k8s.gcr.io/etcd:3.5.1-0
  51. docker tag coredns/coredns:1.8.6 k8s.gcr.io/coredns/coredns:v1.8.6
  52. #使用部署文件出书化K8S集群
  53. kubeadm init --config kubeadm-config.yaml --upload-certs --v=9
  54. # 命令初始化集群
  55. kubeadm init --apiserver-advertise-address=192.168.110.137  --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --service-cidr=10.92.0.0/16  --v=5  # 简化
  56. ----------------------------------------------------------------------
  57. kubeadm init --apiserver-advertise-address=192.168.110.133 --control-plane-endpoint=control-plane-endpoint.k8s.local --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --service-dns-domain=k8s.local --upload-certs --v=5 # 完整
  58. 然后按照系统提示指导部署集群
复制代码
2、利用kubeadm init 离线初始化

  1. # 当有本地无法联网时,使用该初始化方式
  2. 1、远端主机获取对应K8S版本的包
  3. # 查看K8S版本的组件
  4. kubeadm config images list --kubernetes-version=v1.31.0
  5. registry.k8s.io/kube-apiserver:v1.31.1
  6. registry.k8s.io/kube-controller-manager:v1.31.1
  7. registry.k8s.io/kube-scheduler:v1.31.1
  8. registry.k8s.io/kube-proxy:v1.31.1
  9. registry.k8s.io/coredns/coredns:v1.11.3
  10. registry.k8s.io/pause:3.10
  11. registry.k8s.io/etcd:3.5.15-0
  12. 2、拉取镜像
  13. docker pull kube-apiserver:v1.23.8
  14. docker pull kube-controller-manager:v1.23.8
  15. docker pull kube-scheduler:v1.23.8
  16. docker pull kube-proxy:v1.23.8
  17. docker pull pause:3.6
  18. docker pull etcd:3.5.1-0
  19. docker pull coredns/coredns:1.8.6
  20. # 指定国内仓库
  21. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.8
  22. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.8
  23. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.8
  24. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.8
  25. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
  26. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0
  27. docker pull registry.cn-hangzhou.aliyuncs.com/google_containerscoredns/coredns:1.8.6
  28. 3、远端主机将镜像保存
  29. docker save -o kube-apiserver-v1.31.1.tar k8s.gcr.io/kube-apiserver:v1.31.1
  30. docker save -o kube-controller-manager-v1.31.1.tar k8s.gcr.io/kube-controller-manager:v1.31.1
  31. docker save -o kube-scheduler-v1.31.1.tar k8s.gcr.io/kube-scheduler:v1.31.1
  32. docker save -o kube-proxy-v1.31.1.tar k8s.gcr.io/kube-proxy:v1.31.1
  33. docker save -o pause-3.6.tar k8s.gcr.io/pause:3.6
  34. docker save -o etcd-3.5.4-0.tar k8s.gcr.io/etcd:3.5.4-0
  35. docker save -o coredns-v1.9.3.tar k8s.gcr.io/coredns/coredns:v1.9.3
  36. 4、使用scp或其他方式将tar包同步到本地主机
  37. scp  kube-apiserver-v1.31.1.tar            root@192.168.110.138:/root/
  38. scp  kube-controller-manager-v1.31.1.tar   root@192.168.110.138:/root/
  39. scp  kube-scheduler-v1.31.1.tar            root@192.168.110.138:/root/
  40. scp  kube-proxy-v1.31.1.tar                root@192.168.110.138:/root/
  41. scp  pause-3.6.tar                         root@192.168.110.138:/root/
  42. scp  etcd-3.5.4-0.tar                      root@192.168.110.138:/root/
  43. scp  coredns-v1.9.3.tar                    root@192.168.110.138:/root/
  44. 5、本机主机导入镜像
  45. ctr -n=k8s.io images import /path/to/save/kube-apiserver-v1.31.1.tar
  46. ctr -n=k8s.io images import /path/to/save/kube-controller-manager-v1.31.1.tar
  47. ctr -n=k8s.io images import /path/to/save/kube-scheduler-v1.31.1.tar
  48. ctr -n=k8s.io images import /path/to/save/kube-proxy-v1.31.1.tar
  49. ctr -n=k8s.io images import /path/to/save/pause-3.6.tar
  50. ctr -n=k8s.io images import /path/to/save/etcd-3.5.4-0.tar
  51. ctr -n=k8s.io images import /path/to/save/coredns-v1.9.3.tar
  52. 6、查看镜像是否导入
  53. ctr -n=k8s.io images list
  54. 7、指定初始化文件,进行初始化
  55. kubeadm  config print init-defaults > kubeadm-config.yaml
  56. # 修改yaml文件
  57. vim kubeadm-config.yaml
  58. advertiseAddress: 192.168.110.130
  59. name: Master
  60. serviceSubnet: 10.96.0.0/12
  61. podSubnet: 10.244.0.0/16
  62. controlPlaneEndpoint: "LOAD_BALANCER_DNS:LOAD_BALANCER_PORT"  # 负载均衡配置,按需配置替换为负载均衡器的 DNS 名称或 IP 地址,将 LOAD_BALANCER_PORT 替换为负载均衡器监听的端口(通常是 6443)。
  63. imageRepository: localhost:5000   # 指定本地镜像
  64. kubeadm init --config kubeadm-config.yaml --upload-certs --v=9
  65. # 如果直接使用registry.k8s.io仓库下载,使用命令初始化
  66. kubeadm init --apiserver-advertise-address=192.168.110.137   --pod-network-cidr=10.244.0.0/16 --service-cidr=10.92.0.0/16  --v=5
  67. #如果是使用阿里云registry.aliyuncs.com/google_containers镜像仓库下载
  68. kubeadm init --apiserver-advertise-address=192.168.110.137  --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --service-cidr=10.92.0.0/16  --v=5
复制代码
5、部署网络插件

1、在线标准化部署calico

  1. # 1、通过yaml文件部署
  2. wget https://docs.projectcalico.org/manifests/calico.yaml
  3. kubectl apply -f /root/calico.yaml
  4. # 2、查看状态
  5. kubectl get pods -n kube-system
  6. [root@Master01-Centos8 ~]# kubectl get pods -n kube-system
  7. NAME                                       READY   STATUS    RESTARTS   AGE
  8. calico-kube-controllers-b8d8894fb-nmznx    1/1     Running   0          106m
  9. calico-node-fn5q8                          1/1     Running   0          106m
  10. calico-node-fn7rl                          1/1     Running   0          106m
  11. calico-node-tkngk                          1/1     Running   0          106m
  12. coredns-855c4dd65d-66vmm                   1/1     Running   0          42h
  13. coredns-855c4dd65d-9779h                   1/1     Running   0          42h
  14. etcd-master01-centos8                      1/1     Running   0          42h
  15. kube-apiserver-master01-centos8            1/1     Running   0          42h
  16. kube-controller-manager-master01-centos8   1/1     Running   0          42h
  17. kube-proxy-5bprr                           1/1     Running   0          42h
  18. kube-proxy-6dnm2                           1/1     Running   0          42h
  19. kube-proxy-9d8gc                           1/1     Running   0          42h
  20. kube-scheduler-master01-centos8            1/1     Running   0          42h
复制代码
2、离线标准化部署calico

  1. # 当本地主机无法直接访问互联网时使用
  2. 1、远端主机下载calico组件(假设远端主机有docker)
  3. docker pull calico/cni:v3.28.2
  4. docker pull calico/pod2daemon-flexvol:v3.28.2
  5. docker  pull calico/node:v3.28.2
  6. docker  pull calico/kube-controllers:v3.28.2
  7. docker  pull calico/typha:v3.28.2
  8. 2、将镜像保存到本地
  9. docker save  -o calico-cni-v3.28.2.tar calico/cni:v3.28.2
  10. docker save  -o calico-pod2daemon-flexvol-v3.28.2.tar calico/pod2daemon-flexvol:v3.28.2
  11. docker save  -o calico-node-v3.28.2.tar calico/node:v3.28.2
  12. docker save  -o calico-kube-controllers-v3.28.2.tar calico/kube-controllers:v3.28.2
  13. docker save  -o calico-typha-v3.28.2.tar calico/typha:v3.28.2
  14. 3、将镜像拷贝到本地主机(需要手动导入集群中所有主机)
  15. scp  calico-cni-v3.28.2.tar                   root@192.168.110.138:/root/
  16. scp  calico-pod2daemon-flexvol-v3.28.2.tar    root@192.168.110.138:/root/
  17. scp  calico-node-v3.28.2.tar                  root@192.168.110.138:/root/
  18. scp  calico-kube-controllers-v3.28.2.tar      root@192.168.110.138:/root/
  19. scp  calico-typha-v3.28.2.tar                 root@192.168.110.138:/root/
  20. 4、将镜像导入本地主机(需要手动导入集群中所有主机)
  21. ctr -n=k8s.io image import /root/calico-cni-v3.28.2.tar
  22. ctr -n=k8s.io image import /root/calico-pod2daemon-flexvol-v3.28.2.tar
  23. ctr -n=k8s.io image import /root/calico-node-v3.28.2.tar
  24. ctr -n=k8s.io image import /root/calico-kube-controllers-v3.28.2.tar
  25. ctr -n=k8s.io image import /root/calico-typha-v3.28.2.tar
  26. #查看镜像是否导入(所有主机上都执行)
  27. ctr -n=k8s.io images list  | grep calico
  28. 5、安装calico(master上执行)
  29. kubectl apply -f /root/calico.yaml
  30. 6、查看状态
  31. [root@Master01-Centos8 ~]# kubectl get nodes
  32. NAME               STATUS   ROLES           AGE   VERSION
  33. master01-centos8   Ready    control-plane   42h   v1.31.1
  34. slave01-centos8    Ready    <none>          42h   v1.31.1
  35. slave02-centos8    Ready    <none>          42h   v1.31.1
  36. [root@Master01-Centos8 ~]# kubectl get pods -n kube-system
  37. NAME                                       READY   STATUS    RESTARTS   AGE
  38. calico-kube-controllers-b8d8894fb-nmznx    1/1     Running   0          114m
  39. calico-node-fn5q8                          1/1     Running   0          114m
  40. calico-node-fn7rl                          1/1     Running   0          114m
  41. calico-node-tkngk                          1/1     Running   0          114m
  42. coredns-855c4dd65d-66vmm                   1/1     Running   0          42h
  43. coredns-855c4dd65d-9779h                   1/1     Running   0          42h
  44. etcd-master01-centos8                      1/1     Running   0          42h
  45. kube-apiserver-master01-centos8            1/1     Running   0          42h
  46. kube-controller-manager-master01-centos8   1/1     Running   0          42h
  47. kube-proxy-5bprr                           1/1     Running   0          42h
  48. kube-proxy-6dnm2                           1/1     Running   0          42h
  49. kube-proxy-9d8gc                           1/1     Running   0          42h
  50. kube-scheduler-master01-centos8            1/1     Running   0          42h
复制代码
在任何节点实验kubectl命令
  1. 1、将master节点中 /etc/kubernetes/admin.conf   复制需要运行的主机的 /etc/kubernetes中
  2. 2、对应主机上配置环境变量
  3. echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
复制代码
6、安装dashboard

1、安装helm

1、二进制安装helm

  1. wget https://get.helm.sh/helm-v3.16.0-linux-amd64.tar.gz
  2. tar -zxvf helm-v3.16.0-linux-amd64.tar.gz
  3. mv linux-amd64/helm /usr/local/bin/helm
  4. helm repo add bitnami https://charts.bitnami.com/bitnami
复制代码
2、deb包安装helm

  1. # 确保目录存在
  2. sudo mkdir -p /usr/share/keyrings
  3. # 下载、转换并保存 GPG 签名文件
  4. curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
  5. # 验证 GPG 签名 gpg --list-keys --keyring /usr/share/keyrings/helm.gpg
  6. sudo apt-get install apt-transport-https --yes
  7. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
  8. sudo apt-get update
  9. udo apt-get install helm
复制代码
3、用脚本安装helm

  1. curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
  2. chmod 700 get_helm.sh
  3. ./get_helm.sh
复制代码
2、安装dashboard

  1. # Add kubernetes-dashboard repository
  2. # helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
  3. helm repo add bitnami https://charts.bitnami.com/bitnami  # 建议使用
  4. # Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
  5. helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard
  6. # 卸载
  7. helm delete kubernetes-dashboard --namespace kubernetes-dashboard
复制代码
3、利用dashboard

  1. #需要提前确保kubernetes-dashboard命名空间已经存在,确定cluster-admin ClusterRole 存在
  2. # kubectl create namespace kubernetes-dashboard
  3. 1、创建ServiceAccount 和一个 ClusterRoleBinding
  4. vim dashboard-adminuser.yaml
  5. apiVersion: v1
  6. kind: ServiceAccount
  7. metadata:
  8.   name: admin-user
  9.   namespace: kubernetes-dashboard
  10. ---
  11. apiVersion: rbac.authorization.k8s.io/v1
  12. kind: ClusterRoleBinding
  13. metadata:
  14.   name: admin-user
  15. roleRef:
  16.   apiGroup: rbac.authorization.k8s.io
  17.   kind: ClusterRole
  18.   name: cluster-admin
  19. subjects:
  20. - kind: ServiceAccount
  21.   name: admin-user
  22.   namespace: kubernetes-dashboard
  23. # 创建
  24. kubectl apply -f dashboard-adminuser.yaml
  25. # 验证创建情况
  26. kubectl get serviceaccount admin-user -n kubernetes-dashboard
  27. kubectl get clusterrolebinding admin-user
  28. 2、ServiceAccount获取token
  29. # 获取简单的token
  30. kubectl -n kubernetes-dashboard create token admin-user
  31. # 获取长期token,需要修改dashbord-adminuser.yaml文件
  32. apiVersion: v1
  33. kind: Secret
  34. metadata:
  35.   name: admin-user
  36.   namespace: kubernetes-dashboard
  37.   annotations:
  38.     kubernetes.io/service-account.name: "admin-user"   
  39. type: kubernetes.io/service-account-token  
复制代码
7 安装kubesphere

  1. helm upgrade --install -n kubesphere-system   --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks  --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.1.tgz --debug --wait
  2. # 如果可以直接拉取镜像
  3. helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.1.tgz --debug --wait
  4. # 等待一会儿安装完成
  5. http://192.168.110.137:30880
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表