k8s学习

三大指标 高可用,高性能,高并发

高性能

RPC 通信
Kyro 高速序列化
HikariCP 连接池
SQL 优化
Redis 缓存
JVM 优化
GC 优化

高并发

垂直扩展+水平扩展

高可用

一直可以用,99.999999% ->k8s

  • 解决单点故障
  • 实现崩溃恢复,自动重启
  • 自动扩/缩容
  • 金丝雀发布,滚动更新,版本回滚
  • DevOps 自动化运维 ->AIOps

k8s集群安装

# 准备工作
# 配置主机名
hostnamectl set-hostname k8s-master
echo "192.168.0.97 k8s-master" >> /etc/hosts
# 关闭selinux
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
# 关闭firewalld
systemctl disable firewalld --now
# 关闭交换分区
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 启用ipv4转发
cat > /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
EOF

# 添加并更新源
# 下载docker yum源
yum install -y wget
wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
#  增加kubernetes源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
[kubernetes] 
name=Kubernetes 
baseurl=https://repo.huaweicloud.com/kubernetes/yum/repos/kubernetes-el7-x86-64
enabled=1 
gpgcheck=1 
repo_gpgcheck=0
gpgkey=https://repo.huaweicloud.com/kubernetes/yum/doc/yum-key.gpg https://repo.huaweicloud.com/kubernetes/yum/doc/rpm-package-key.gpg 
EOF

#更新yum 源
sysctl --system

# 安装docker 
yum install docker-ce -y
systemctl enable docker --now
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://c79a812ed3cf45af9b15d7c8d68c3a25.mirror.swr.myhuaweicloud.com"],
  "exec-opts":["native.cgroupdriver=systemd"],
  "log-driver":"json-file",
  "log-opts": {
  "max-size": "100m"
  },
  "storage-driver":"overlay2",
  "storage-opts": [
  "overlay2.override_kernel_check=true"
  ]
}
EOF
systemctl restart docker 

# 安装k8s
yum install -y kubelet-1.23.1 kubeadm-1.23.1 kubectl-1.23.1
systemctl enable kubelet
kubeadm init  --apiserver-advertise-address=192.168.0.97 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.1  --service-cidr=10.1.0.0/16  --pod-network-cidr=10.244.0.0/16   --ignore-preflight-errors=all
sleep 120
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
wget --no-check-certificate https://docs.projectcalico.org/v3.15/manifests/calico.yaml
kubectl apply -f calico.yaml
sleep 360
kubectl taint node k8s-master node-role.kubernetes.io/master-
kubectl get pod -n kube-system

posted @ 2020-02-05 19:37  Fake_coder  阅读(304)  评论(0编辑  收藏  举报