logo
0
0
WeChat Login

k8s-kubeadm

永久修改主机名

hostnamectl set-hostname k8s-master

禁用swap

临时修改,重启后恢复

swapoff -a

永久修改

编辑配置文件 /etc/fstab 将swap进行注释

查看是否生效

使用free -g命令,Swap 显示都为0表示修改成功了

安装docker

root@k8s-master:~# apt install -y docker.io root@k8s-master:~# docker version Client: Version: 20.10.21 API version: 1.41 Go version: go1.18.1 Git commit: 20.10.21-0ubuntu1~18.04.3 Built: Thu Apr 27 05:50:21 2023 OS/Arch: linux/amd64 Context: default Experimental: true Server: Engine: Version: 20.10.21 API version: 1.41 (minimum version 1.12) Go version: go1.18.1 Git commit: 20.10.21-0ubuntu1~18.04.3 Built: Thu Apr 27 05:36:22 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.12-0ubuntu1~18.04.1 GitCommit: runc: Version: 1.1.4-0ubuntu1~18.04.2 GitCommit: docker-init: Version: 0.19.0 GitCommit:

修改/etc/docker/daemon.json

root@k8s-master:~# cat > /etc/docker/daemon.json << EOF { "registry-mirrors":[ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ], "exec-opts":[ "native.cgroupdriver=systemd" ] } EOF

重启docker

systemctl daemon-reload systemctl restart docker

必要组建安装

//读取k8s目录下的文件进行安装 sudo sh install_ubuntu.sh //从远程重新下载进行安装 sudo sh install install_ubuntu_online.sh

加载配置文件启动一个集群

启动方式1

//指定配置项启动 root@k8s-master:~# kubeadm init --apiserver-advertise-address=0.0.0.0 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all

启动方式2

// 获取内网重新生成kubeadm-init.yaml root@k8s-master:~# cat k8s/kubeadm-init.yaml | sed "s/advertiseAddress:.*/advertiseAddress: $(ip addr show eth0 |grep "inet "|awk '{print $2}' | cut -d/ -f1)/" > kubeadm-init.yaml //加载配置文件进行启动 root@k8s-master:~# kubeadm init --config kubeadm-init.yaml

配置信息

生成默认的配置信息 kube-init.yaml

kubeadm config print init-defaults > kubeadm-init.yaml

然后进行按照需求进行修改成以下的内容

apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.1.20 bindPort: 6443 nodeRegistration: criSocket: /var/run/dockershim.sock imagePullPolicy: IfNotPresent name: k8s-master taints: null --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd: local: dataDir: /var/lib/etcd #etcd访问地址 extraArgs: listen-client-urls: "https://127.0.0.1:2379,https://127.0.0.1:2379" listen-peer-urls: "https://127.0.0.1:2380" imageRepository: registry.aliyuncs.com/google_containers kind: ClusterConfiguration kubernetesVersion: 1.23.0 networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 podSubnet: 10.244.0.0/16 scheduler: {} --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration clusterCIDR: "10.244.0.0/16" # 启用 ipvs 模式 mode: "ipvs"

//获取外网地址重新生成kubeadm-init.yaml root@k8s-master:~# cat k8s/kubeadm-init.yaml | sed "s/advertiseAddress:.*/advertiseAddress: $(curl -s ifconfig.me)/" > kubeadm-init.yaml

//TODO

配置文件写入到$HOME下

root@k8s-master:~# mkdir -p $HOME/.kube root@k8s-master:~# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config root@k8s-master:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config root@k8s-master:~# export KUBECONFIG=/etc/kubernetes/admin.conf

安装网络组建

//安装本地 root@k8s-master:~# kubectl apply -f k8s/kube-flannel.yml //安装远程 root@k8s-master:~# kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

检查master节点是否安装成功

root@k8s-master:~# kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane,master 13m v1.23.9 root@k8s-master:~# kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-6d8c4cb4d-d85pk 1/1 Running 0 36m kube-system coredns-6d8c4cb4d-ddp9k 1/1 Running 0 36m kube-system etcd-k8s-master 1/1 Running 9 36m kube-system kube-apiserver-k8s-master 1/1 Running 8 36m kube-system kube-controller-manager-k8s-master 1/1 Running 10 36m kube-system kube-proxy-h4xnv 1/1 Running 0 36m kube-system kube-scheduler-k8s-master 1/1 Running 11 36m

About

No description, topics, or website provided.
113.89 MiB
0 forks0 stars1 branches0 TagREADMEApache-2.0 license
Language
Shell100%