问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

k8s部署基础服务

发布网友 发布时间:2022-11-27 18:43

我来回答

1个回答

热心网友 时间:2023-10-18 00:40

注意把10.170.208.111 替换成自己linux虚拟机的ip地址

# kubeadm init  \

--apiserver-advertise-address=10.170.208.111  \

--image-repository registry.aliyuncs.com/google_containers  \

--kubernetes-version=v1.19.4  \

--service-cidr=10.96.0.0/12  \

--pod-network-cidr=10.244.0.0/16  \

--token-ttl=0

安装方式建议实用kubeadm安装方式

kubectl taint nodes --all node-role.kubernetes.io/master-

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

多网卡服务器需要指定网卡

vim kube-flannel.yml

kubectl apply -f kube-flannel.yml

查找问题 journalctl -f -u kubelet.service

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/namespace.yaml

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/metallb.yaml

# On first install only

kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"

cat  <<EOF>metallb.cfg

apiVersion: v1

kind: ConfigMap

metadata:

  namespace: metallb-system

  name: config

data:

  config: |

    address-pools:

    - name: default

      protocol: layer2

      addresses:

      - 10.170.208.10-10.170.208.15

EOF

10.170.208.10-10.170.208.15  是负载均衡使用的ip范围

kubectl apply -f metallb.cfg

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

vim recommended.yaml

spec:

  type: NodePort

  ports:

    - port: 443

      targetPort: 8443

      nodePort: 30000

  selector:

    k8s-app: kubernetes-dashboard

kubectl apply -f recommended.yaml

cat <<EOF>admin-user.yaml

apiVersion: v1

kind: ServiceAccount

metadata:

  name: admin-user

  namespace: kubernetes-dashboard

EOF

kubectl apply -f admin-user.yaml

serviceaccount/admin-user created

Creating a ClusterRoleBinding

cat <<EOF>ClusterRoleBinding.yaml

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

  name: admin-user

roleRef:

  apiGroup: rbac.authorization.k8s.io

  kind: ClusterRole

  name: cluster-admin

subjects:

- kind: ServiceAccount

  name: admin-user

  namespace: kubernetes-dashboard

EOF

kubectl apply -f ClusterRoleBinding.yaml

使用token进行登录,执行下面命令获取token

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

kubectl create clusterrolebinding serviceaccount-cluster-admin --clusterrole=cluster-admin --group=system:serviceaccount

curl -L https://istio.io/downloadIstio | sh -

cd istio-1.10.0

export PATH=$PWD/bin:$PATH

istioctl install --set profile=demo -y

kubectl label namespace default istio-injection=enabled

wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz

tar -zxvf helm-v3.6.1-linux-amd64.tar.gz

mv linux-amd64/helm /usr/local/bin/helm

共享端安装nfs-server,k8s所在主机安装nfs客户端【具体根据linux版本安装对应包】

以ubuntu为例:

apt-get install nfs-kernel-server

vim /etc/exports

/data/k8s *(rw,sync,no_root_squash)

手动

mount -t nfs -o nolock -o tcp 10.170.208.111:/data/k8s    /nfs

自动

vim /etc/fstab

# nfs volumes

10.170.208.111:/data/k8s    /nfs    nfs    defaults    0  0

helm search repo  nfs-client-provisioner

helm install aliyuncs/nfs-client-provisioner --name nfs-storageclass --set nfs.server=10.170.208.111 --set nfs.path=/data/k8s

helm install stable/nfs-client-provisioner --name nfs-storageclass --set nfs.server=10.170.208.111 --set nfs.path=/data/k8s

helm pull stable/nfs-client-provisioner --untar     

cd nfs-client-provisioner/

vim values.yaml     

values.yaml

...

nfs:

  server: 10.170.208.111     

  path: /data/k8s     

  mountOptions:

...

helm install nfs -f values.yaml .

helm pull aliyuncs/kafka

tar -zxvf  kafka-7.2.2.tgz

cd kafka

helm install kafka . -f ./values.yaml --set service.type=NodePort

helm repo add bitnami https://charts.bitnami.com/bitnami

helm install bibt bitnami/postgresql-ha

export POSTGRES_PASSWORD=$(kubectl get secret --namespace default bibt-postgresql-ha-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)

export | grep POSTGRES_PASSWORD

export REPMGR_PASSWORD=$(kubectl get secret --namespace default bibt-postgresql-ha-postgresql -o jsonpath="{.data.repmgr-password}" | base64 --decode)

export | grep REPMGR_PASSWORD

helm install redis-service bitnami/redis-cluster

export REDIS_PASSWORD=$(kubectl get secret --namespace "default" redis-service-redis-cluster -o jsonpath="{.data.redis-password}" | base64 --decode)

export | grep REDIS_PASSWORD

helm install mongodb bitnami/mongodb

export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath="{.data.mongodb-root-password}" | base64 --decode)

export | grep MONGODB_ROOT_PASSWORD

helm install mqtt emqx/emqx  --set service.type=LoadBalancer

export EMQX_ROOT_PASSWORD=$(kubectl get secret --namespace default mqtt -o jsonpath="{.data.emqx-root-password}" | base64 --decode)

export | grep EMQX_ROOT_PASSWORD

ElasticSearch 的 Helm Chart 模板是 ES 官方 Github 获取的,它的 Github 地址为 https://github.com/elastic/helm-charts。

# Helm 增加 Elastic 仓库

helm repo add elastic https://helm.elastic.co

# 安装 ElasticSearch Master 节点

helm install elasticsearch  --set antiAffinity=soft  elastic/elasticsearch

helm install kibana  elastic/kibana

helm install apm-server elastic/apm-server

wget https://github.com/elastic/helm-charts/archive/refs/tags/v7.13.2.tar.gz

tar -zxvf v7.13.2.tar.gz

cd helm-charts-7.13.2/filebeat/examples/deployment

make install

helm upgrade --wait --timeout=900s --install --values values.yaml helm-filebeat-deployment ../../
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海什么酒店最高大上 业精于勤荒于嬉。行成于思毁于随 ""业精于勤,荒于嬉,行成于思,毁于随"是什么意思?解释的好点 文才神摆在阳台东南面朝窗户好吗 高锰酸钾鱼缸要泡多久合适 高锰酸钾泡鱼缸的时间介绍 高锰酸钾浸盆要多久 高锰酸钾浸泡需要的时间是多久? 高锰酸钾要泡多久合适 高锰酸钾要泡多长时间合适 天气炎热,长途车下面放行李的地方放活的黄鳝会死吗 15款明锐1.4 t烧机油吗 ...年斯柯达明锐换了四个点火线圈四个火花塞油耗增大两升左右为什么... EMQX安装 爬山的感悟经典一句话 关于爬山的句子 爬山感悟深奥的句子 爬山的说说 荣耀70POR换后盖需要多少钱? 荣耀七换后盖和屏幕多少钱 表情 一狗一猫 什么意思? 一猫一花一世界是什么意思 穿碎花衬衫要注意什么 碎花衬衫搭配指南 0.34里面有几个0.01他再加上几个0.0就是0.5。 巫师3萝拉怎么上 cdpr是什么意思 产后三年怎么瘦大肚子,产后瘦身哪种瘦身衣好 泉州哪家医院治疗痤疮效果好? 扬州治疗痤疮最好的医院 丢失网络连接是什么意思 初级统计师几月出成绩 校外培训机构有哪些双减政策? 遇见茶:人在草木间 佛教寺院中的茶文化 独特的寺院茶文化是什么样的? 为什么说,不要让孩子看电视,玩手机? 一年级上册凑十法1和9的学,学情分析方案,怎么去写? 幼儿园教资面试时间多久 这些扶贫数据你知道多少? 海南马占木茶台和老船木哪个好 老船木茶桌网上买有什么猫腻? 主板 买了个m.2转pcie转接卡还带sata接口,插了sata线 bios识别不到 咋搞? 2020最值得入手的眼影 看了每一盘都想要拥有 新鲜黑松露怎么吃 黑松露可以泡水喝吗 黑松露可以做什么茶 用洗鼻壶洗鼻子鼻腔很不舒服 为什么我洗鼻时鼻子痛 一月前误使用1.8%的盐水洗鼻,导致鼻子很痛,不能再用0.9%的盐水或者清水洗了,洗就会很痛。 有谁知,木质蓝牙音响有什么品牌好 教你如何自己丰胸 胸部自己按摩会变大吗 自摸可不可以让胸变大? Aqara烟雾报警器会不会很容易积灰尘呀? 把4克糖溶解在49克水中化为糖水,糖占糖水的几分之 4克糖放入16克水中,糖水重多少克 4克糖和4克盐溶与水中,怎么求质量分数