Kubernetes 部署配置详解

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

原文链接:https://developer.aliyun.com/article/755465?spm=a2c6h.12873581.0.0.54c47e46mLfYep

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、部署说明

1. Kubernetes 集群部署

在阿里云上,容器服务提供了一键式的Kubernetes部署,但很多场景应用下需要搭建自托管的Kubernetes集群。

2. Kubernetes 架构图

3. 节点信息

System: CenOS 7.6 - x64Master 172.20.1.202 kube-controller-manager kube-apiserver kube-scheduler etcd coredns kube-flannel kube-proxy docker-ceSlave1 172.20.1.203 kube-flannel kube-proxy docker-ceSlave2 172.20.1.204 kube-flannel kube-proxy docker-ce

在阿里云上,可以直接通过ECS云服务器来作为集群运行环境。
 

二、配置详解

1. 基础配置

基础工具安装(以下配置每个节点都需要运行)

yum -y install ntpdate vim wget

修改各节点主机名

echo k8s-c01-p001 > /etc/hostnameecho k8s-c01-p002 > /etc/hostnameecho k8s-c01-p003 > /etc/hostname

修改时区及时间

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate 0.cn.pool.ntp.org

关闭内核防火墙及系统防火墙

systemctl stop firewalld.servicesystemctl disable firewalld.service    setenforce 0sed -i 's/=enforcing/=disabled/' /etc/selinux/config

配置Hosts文件

tee /etc/hosts <<-'EOF'172.20.1.202 k8s-c01-p001
172.20.1.203 k8s-c01-p002
172.20.1.204 k8s-c01-p003
EOF

内核信息修改

echo "1" > /proc/sys/net/ipv4/ip_forwardecho "1" > /proc/sys/net/bridge/bridge-nf-call-iptablesecho "1" > /proc/sys/net/bridge/bridge-nf-call-ip6tables
tee /etc/sysctl.d/kubernetes.conf <<-'EOF'net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF

2. 相关环境配置

Docker RPM仓库配置

wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Kubernetes RPM仓库配置

wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import /etc/yum.repos.d/rpm-package-key.gpg
tee /etc/yum.repos.d/kubernetes.repo <<-'EOF'[kubernetes]
name=kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpgenabled=1EOF

安装Docker及Kube工具

yum install -y docker-ce kubelet kubeadm kubectl

启动docker

systemctl start docker

关闭虚拟内存

swapoff -a
echo "KUBELET_EXTRA_ARGS=\"--fail-swap-on=false\"" > /etc/sysconfig/kubelet

配置自启动

systemctl enable kubelet docker

查看需要用到的镜像,如果遇到墙的问题,可以在墙外下载完拉回来

kubeadm config images list
kubeadm config images pull

初始化管理节点 只需要Master运行

kubeadm init --kubernetes-version=v1.16.0 --pod-network-cidr=10.1.0.0/16 --service-cidr=10.2.0.0/16 --ignore-preflight-errors=Swap

配置kubectl连接信息

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config

配置网络插件

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

3. 集群部署

在工作节点加入集群 只需要Slave运行

kubeadm join <Master>:6443 --token <Token> \
--discovery-token-ca-cert-hash sha256:<Cert>

集群部署完成,查看集群节点

kubectl get node -owi

查看集群节点上运行的Pod

kubectl get pods -n kube-system -owide

建议:优先使用阿里云ACK容器服务,较低运维成本,方便管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值