记录下kubernetes的安装
环境准备
3台电脑
配置: cpu 核心2 node 内存4G master 内存2G
IP:
master : 192.168.10.82
node1:192.168.10.83
node2:192.168.10.84
安装前的准备
学习k8s,我相信这点linux基础还是有的,就不做演示了
1.配置静态ip
2.关闭swap分区
3.ssh免密登录
4.配置DNS,可以上公网
5.修改主机名
6.安装docker
7.修改/etc/hosts,添加三台主机的信息
8.关闭防火墙和selinux
9.同步时间和时区
10.安装三个kubernetes工具
kubelet kubeadm kubectl
图片是我从阿里开源镜像站截的,看不清可以去链接
三个工具下载教程链接
配置方法
kubeadm是k8s的集群安装工具,能快速安装k8s集群。
安装k8s主要是安装它的各个镜像,由于国内的网络原因,无法拉取镜像,修改为阿里云的镜像服务即可解决
1.创建并修改配置文件
(1)导出配置文件
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml
(2)修改配置文件:
apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:
- system:bootstrappers:kubeadm:default-node-token
token: abcdef.0123456789abcdef
ttl: 24h0m0s
usages:
- signing
- authentication
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: 192.168.10.82 #改为主节点ip
bindPort: 6443
nodeRegistration:
criSocket: /var/run/dockershim.sock
name: node82
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/master
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers #修改为阿里云镜像地址
kind: ClusterConfiguration
kubernetesVersion: v1.17.0
networking:
dnsDomain: cluster.local
podSubnet: "10.244.0.0/16" #添加Pod网段
serviceSubnet: 10.96.0.0/12
scheduler: {}
- 执行以下命令可查看镜像信息
kubeadm config images list --config kubeadm.yml
- 下载主节点镜像
kubeadm config images pull --config kubeadm.yml
- 安装初始化主节点
kubeadm init --config=kubeadm.yml | tee kubeadm-init.log
- 初始化完成会显示以下信息,
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.10.82:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:4611916f24b31843d3a167965c228d728f7e1422767001d7703b4c2368ea132f
9。 root用户执行以下两条命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config )
非root执行完以上命令后执行
sudo chown $(id -u):$(id -g) $HOME/.kube/config
到此初始化完成
10。node节点执行以下命令加入节点
kubeadm join 192.168.10.82:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:4611916f24b31843d3a167965c228d728f7e1422767001d7703b4c2368ea132f
- 执行以下命令可查看到节点
kubectl get node
12.至此安装完成