Skip to content

k8s安装记录

端口: 文档地址: 下载地址: 安装方式:

  1. 修改hostname

hostnamectl set-hostname leyou-dev

(hostnamectl status => static hostname)

  1. 修改hosts映射 vi /etc/hosts

10.0.1.48 leyou-dev

  1. 禁用 swap (禁止将设备和文件用于分页和交换)

swapoff -a

  1. 关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config

  1. 写入yum源 vi/etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

  1. 选择版本

docker 和 k8s 版本比对:https://github.com/kubernetes/kubernetes/blob/release-1.19/build/dependencies.yaml 本机的docker版本是25所以选择的k8s版本是 1.227. 安装kubeadm,kubelet,kubectl

yum install -y kubelet-1.22.0 kubeadm-1.22.0 kubectl-1.22.0

  1. 查看是否安装成功

kubelet --version

kubeadm --version

kubectl --version

执行上述命令显示版本号即为安装成功

  1. 启动 docker.service 和 kubelet.service

systemctl enable docker.service

systemctl start docker.service

systemctl enable kubelet.service

systemctl start kubelet.service

  1. 启动 kubelet

systemctl enable kubelet

systemctl start kubelet

  1. 初始化 init-config.yaml 文件

在 app 目录下创建 kubernetes 文件夹 进入文件

执行命令生成init-config.yaml文件:kubeadm config print init-defaults > init-config.yaml

  1. 修改init-config.yaml文件:vi init-config.yaml

advertiseAddress: 10.0.1.48

imageRepository: registry.aliyuncs.com/google_containers

修改以上两处值

  1. 应用init-config.yaml文件

kubeadm config images pull --config=init-config.yaml

  1. 安装 master 节点

kubeadm init --apiserver-advertise-address=10.0.1.48 --pod-network-cidr=10.244.0.0/16 -- service-cidr=10.96.0.0/12 --image-repository registry.aliyuncs.com/google_containers

有 Your Kubernetes control-plane has initialized successfully! 输出即为成功

  1. 创建home目录下创建 .kube 文件夹

mkdir -p $HOME/.kube

  1. .kube 文件夹创建 config 文件 写入内容

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  1. config 文件 设置权限

sudo chown $(id -u):$(id -g) $HOME/.kube/config

  1. 配置环境变量 etc/profile

export KUBECONFIG=/etc/kubernetes/admin.conf

(kubeadm join 10.0.16.16:6443 --token 0qgerd.knoyhrst3o2sj8ex \

--discovery-token-ca-cert-hash sha256:144dd50b5931b8588a2342d86d6aac35696c2302656cb75ab1f704ca0fc87c2e)

  1. 安装flannel插件

下载 kube-flannel.yaml 文件到 app/kubernetes 目录下

执行安装命令 kubectl apply -f kube-flannel.yml

  1. 让 主节点也能部署app

kubectl taint nodes --all

  1. 修改端口号范围 vim /etc/kubernetes/manifests/kube-apiserver.yaml

找到 --service-cluster-ip-range 这一行,在这一行的下一行增加 如下内容 - --service-node-port- range=1-65535

  1. 创建命名空间 dev-pms-namespace.yml

apiVersion: v1

kind: Namespace

metadata:

labels:

app: dev-byteox

name: dev-byteox

执行命令 kubectl create -f dev-pms-namespace.yml

  1. 创建角色权限 dev-endpoints-cluster-role.yaml

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRole

metadata:

namespace: dev-byteox

name: endpoints-reader

rules:

  • apiGroups: [""]

resources: ["pods","configmaps","endpoints","services"]

verbs: ["get", "watch", "list"]

执行命令 kubectl create -f dev-endpoints-cluster-role.yaml

  1. 为账号 dev-byteox 分配访问权限

kubectl create clusterrolebinding endpoints-reader-mydefault --clusterrole=endpoints-reader --serviceaccount=dev-byteox:default

  1. 安装 kuboard k8s管理面板

创建 start-kuboard.sh 脚本 内容如下

sudo docker run -d \

--restart=unless-stopped \

--name=kuboard \

-p 10090:80/tcp \

-p 10081:10081/tcp \

-e KUBOARD_ENDPOINT="http://47.96.187.116:10090" \

-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \

-e KUBOARD_ADMIN_DERAULT_PASSWORD="Admin.leyou!1105" \

-v /app/docker/kuboard/data:/data \

swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

执行脚本 ./start-kuboard.sh

打开网页 k8s管理端页面 http://47.96.187.116:10090/ 账号 admin 密码 Admin.leyou!1105

点击添加集群 选择 kubeconfig 选项 将 home目录下.kube目录中config文件的内容复制进去 点击确定

安装地址:

配置文件:

启动命令:

其他注意事项:

安装K8s时,在节点初始化过程中出现[kubelet-check] The HTTP call equal to ‘curl -sSL http://localhost:10248/healthz’ failed with error: Get “http://localhost:10248/healthz”: dial tcp 127.0.0.1:10248: connect: connection refused.报错。

解决办法 参考链接:https://blog.csdn.net/weixin_51589360/article/details/128290237