Linux服务器配置
- 关闭交换分区
[root@localhost kubelet] swapoff -a
[root@localhost kubelet] vi /etc/fstab
- 关闭selinux
[root@localhost kubelet] vim /etc/sysconfig/selinux
[root@localhost kubelet] setenforce 0
- 关闭防火墙
[root@localhost kubelet] systemctl disable firewalld
[root@localhost kubelet] systemctl stop firewalld
安装docker
- 卸载旧docker
[root@localhost kubelet] yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine - 安装工具
[root@localhost kubelet] yum install -y yum-utils device-mapper-persistent-data lvm2 - 配置docker的yum源
[root@localhost kubelet] yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@localhost kubelet] yum-config-manager --enable docker-ce-nightly
[root@localhost kubelet] yum-config-manager --enable docker-ce-test
- 安装docker
[root@localhost kubelet] yum install docker-ce docker-ce-cli containerd.io
[root@localhost kubelet] systemctl start docker
[root@localhost kubelet] systemctl status docker
[root@localhost kubelet] systemctl enable docker
安装kuebrnetes
- 配置kuebrnetes的yum源
[root@localhost kubelet] vim kuebrnetes.repo
[kuebrnetes]
name=Kuebrnetes Repository
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
- 安装kubeadm
[root@localhost kubelet] yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes - 启动kubelet
[root@localhost kubelet] systemctl start kubelet[root@localhost kubelet] systemctl enable kubelet - 打印初始配置
[root@localhost kubelet] kubeadm config print init-defaults --v=5 > init.default.yaml - 编辑初始配置
[root@localhost kubelet] vim init.default.yaml
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: 10.180.249.80 //master主机IP
bindPort: 6443
nodeRegistration:
criSocket: /var/run/dockershim.sock
name: k8smaster
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:
podSubnet: "192.168.0.0/16"
serviceSubnet: 10.96.0.0/12
scheduler: {}
- 拉取镜像
[root@localhost kubelet] mv init.default.yaml init-config.yaml
[root@localhost kubelet] kubeadm config images pull --config=init-config.yaml
- 安装Master
[root@localhost kubelet] kubeadm init --config=init-config.yaml
[root@localhost kubelet] mkdir -p $HOME/.kube
[root@localhost kubelet] cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@localhost kubelet] chown $(id -u):$(id -g) $HOME/.kube/config
- 添加node
前提条件:node节点已安装docker,且已配置好kuebrnetes的yum源[root@localhost kubelet] yum install kubelet kubeadm --disableexcludes=kubernetes[root@localhost kubelet] systemctl enable kubelet[root@localhost kubelet] systemctl start kubelet
[root@localhost kubelet] vim join-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: JoinConfiguration
discovery:
bootstrapToken:
apiServerEndpoint: 10.180.249.80:6443
token: abcdef.0123456789abcdef
unsafeSkipCAVerification: true
tlsBootstrapToken: abcdef.0123456789abcdef
[root@localhost kubelet] kubeadm join --config=join-config.yaml
在master节点查看node信息:kubectl get nodes
- 配置网络
[root@localhost kubelet] kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version)|base 64|tr -d '\n'"
查看pod信息
[root@localhost kubelet] kubectl get pods --all-namespaces[root@localhost kubelet] kubectl --namespace=kube-system describe pod <pod>[root@localhost kubelet] docker pull docker.io/weaveworks/weave-kube:2.6.0
来源:CSDN
作者:建康
链接:https://blog.csdn.net/qq_29989725/article/details/103875888