k8s集群部署

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'"
  • 配置flannel网络
[root@localhost kubelet]  docker pull easzlab/flannel:v0.11.0-amd64 && docker tag easzlab/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64//每个节点都执行
[root@localhost kubelet]  wget  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
[root@localhost kubelet]  vim kube-flannel.yml //注意network配置
[root@localhost kubelet]  kubectl apply -f kube-flannel.yml
查看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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值