基础服务组件安装

nginx-ingress

以NodePort的形式负载均衡,每个node上都会绑定80、443端口

helm install nginx-ingress aliyun/nginx-ingress --set controller.service.type=NodePort,controller.service.externalTrafficPolicy=Local,controller.kind=DaemonSet,controller.daemonset.useHostPort=true -n kube-system

chartmuseum

helm install chartmuseum aliyun/chartmuseum  --set persistence.pv.enabled=true,persistence.pv.nfs.server=10.9.122.86,persistence.pv.nfs.path=/data/charts/,persistence.pv.pvname=charts --set ingress.enabled=true   --set ingress.hosts[0].name=charts.youxuetong.com   --set ingress.hosts[0].path=/ --set ingress.hosts[0].tls=true --set ingress.hosts[0].tlsSecret=chart-secret,env.open.DISABLE_API=false,env.open.ALLOW_OVERWRITE=true,env.secret.BASIC_AUTH_USER=yxt,env.secret.BASIC_AUTH_PASS=9cWcXrHPZiDj7jwL

NFS动态存储

helm install nfs-client-provisioner aliyun/nfs-client-provisioner --set nfs.server=192.168.122.9 --set nfs.path=/data -n share

如果需要将nfs-client当做默认storageclass,需要加上storageClass.defaultClass=true参数

helm install nfs-client-provisioner aliyun/nfs-client-provisioner --set nfs.server=192.168.122.9,nfs.path=/data,storageClass.defaultClass=true -n share

需要所有node节点都安装nfs组件,否则挂载不上

sudo apt-get install nfs-common

MySQL

helm install mysql aliyun/mysql --set root.password=4zxsM3XcTgVtydCK,db.user=dev,db.password=QLdTNpi6QQqiMp7B,db.name=passport_dev -n share

Redis

helm install redis aliyun/redis --set password=X2eH6BvahNqAuQkg,master.service.type=NodePort,master.service.nodePort=32765,slave.service.type=NodePort,slave.service.nodePort=32764 -n share
2019/12/20 posted in  Kubernetes

Kubernets 卸载清理

kubeadm reset -f
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd


2019/12/12 posted in  Kubernetes

k8s实用指令

创建Docker私有仓库密钥

kubectl create secret docker-registry regsecret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=yin32167@aliyun.com --docker-password=xxxxxx --docker-email=yin32167@aliyun.com

k8s简单端口转发

转发至pod

kubectl port-forward --address 0.0.0.0 pod/mypod 8888:5000

转发至service

kubectl port-forward --address 0.0.0.0 services/myservice 8888:5000

移除node

移除node需要先将node上的pod转移

kubectl drain k8s-node-storage --delete-local-data --force --ignore-daemonsets

然后利用delete命令删除node

kubectl delete node node-01

k8s创建tls secret

kubectl create secret tls dev.youxuetong.com --cert=server.crt --key=server.key -n share
2019/11/29 posted in  Kubernetes

helm基础介绍

helm安装

3.0版本

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

helm仓库

http://mirror.azure.cn/kubernetes/charts/

使用方法

helm repo add azure http://mirror.azure.cn/kubernetes/charts/

阿里云

helm repo add aliyun https://apphub.aliyuncs.com/

搜索公共仓库

仓库地址

helm search hub wordpress

搜索私有仓库

helm search repo wordpress

Helm 如何管理多环境下 (Test、Staging、Production) 的业务配置?

Chart 是支持参数替换的,可以把业务配置相关的参数设置为模板变量。使用 helm install 命令部署的时候指定一个参数值文件,这样就可以把业务参数从 Chart 中剥离了。例如: helm install --values=values-production.yaml wordpress。

helm push 插件

helm plugin install https://github.com/chartmuseum/helm-push

上传包

helm push . http://192.168.1.24:8080
2019/11/22 posted in  Kubernetes

Mac 安装MiniKube

  1. 安装kubectl

    brew install kubernetes-cli
    
  2. 安装minikube

    官方原版,需要科学上网

    brew cask install minikube
    

    阿里云的minikube

    curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.30.0/minikube-darwin-amd64 && chmod +xminikube && sudo mv minikube /usr/local/bin/
    
  3. minikube 启动命令

    minikube start --docker-env HTTP_PROXY=192.168.2.114:31210 --docker-env HTTPS_PROXY=192.168.2.114:31210
    
2019/03/15 posted in  Kubernetes